@effect/tsgo package ships a CLI for installing and managing the Effect Language Service. All commands are available via npx:
setup
Interactive setup wizard that configures@effect/tsgo for your project.
1
Select a tsconfig.json
The wizard scans the current directory and prompts you to choose which
tsconfig.json to configure.2
Add the dependency
@effect/tsgo is added to your project’s package.json if it is not already present.3
Configure the plugin
The
@effect/language-service plugin entry is added to the selected tsconfig.json.4
Adjust plugin options
An interactive prompt walks you through the available plugin options so you can set them to your preference.
5
Editor hints
After applying changes, the wizard displays any additional editor configuration needed to activate the language server.
You can re-run
setup at any time. It assesses the current state of your project before proposing changes, so it will not duplicate existing configuration.config
Interactively configure diagnostic severities for an existingtsconfig.json.
1
Select a tsconfig.json
The command scans the current directory and prompts you to pick a
tsconfig.json.2
Pick rules and severities
An interactive rule picker lists all available diagnostics alongside their current configured severity. Select any rule to change its severity.
3
Review and apply
The computed changes to
diagnosticSeverity are displayed for review before being written to tsconfig.json.config when you want to tune diagnostics after the initial setup without re-running the full wizard.
patch
Patch the@typescript/native-preview binary, replacing it with effect-tsgo.
effect-tsgo is a superset of the official tsgo binary — it adds the Effect diagnostics layer on top of standard TypeScript-Go. Patching replaces the binary that editors load through @typescript/native-preview, so no separate editor configuration is needed.
What this command does:
- Locates the platform-specific
tsgobinary inside@typescript/native-preview. - Creates a backup of the original binary at
tsgo.original(ortsgo.original.1,tsgo.original.2, … if a backup already exists). - Copies the
effect-tsgobinary from the platform package into the target location. - Sets executable permissions (
0755) on the patched binary. - Runs
tsgo --versionto verify the patched binary works.
unpatch
Restore the original@typescript/native-preview binary from the backup created by patch.
- Locates the backup file (
tsgo.original) next to the patched binary. - Renames the current patched binary to a uniquely named
.patchedfile (preserving it in case you need to inspect it). - Renames the backup file back to the original binary name.
If no backup is found,
unpatch exits without making any changes and prints an informational message.get-exe-path
Print the absolute path to theeffect-tsgo executable.
patch approach.
Example output: