Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Effect-TS/tsgo/llms.txt

Use this file to discover all available pages before exploring further.

Quick Start

Install and configure the Effect Language Service in minutes.

Editor Setup

Configure VS Code, Neovim, and other editors to use tsgo.

Diagnostics

Explore all Effect-specific diagnostics and their severities.

Refactors

Code actions to convert async/await, compose layers, and more.

What is Effect Language Service (tsgo)?

@effect/tsgo is a superset of TypeScript-Go — the high-performance Go-based TypeScript compiler — augmented with the full Effect Language Service. It ships as a single binary that replaces your editor’s TypeScript language server and adds:
  • 50+ diagnostics catching Effect-specific correctness issues, anti-patterns, and style violations
  • Quick fixes to automatically resolve many of those diagnostics in one keystroke
  • Code refactors to convert async/await to Effect generators, compose layers, generate schemas, and more
  • Smart completions for Effect.gen, Schema classes, Service/Tag constructors, and directives
  • Layer graph visualization — hover over any Layer to see a Mermaid dependency diagram
@effect/tsgo is currently in Alpha. Expect breaking changes between releases and some missing features compared to the previous TypeScript-based version.

How it works

@effect/tsgo embeds a pinned version of typescript-go with a minimal patch set, then adds the Effect language service layer on top. Your editor talks to effect-tsgo as a standard TypeScript language server — you get all the speed of the Go compiler plus Effect-specific intelligence.
Use effect-tsgo instead of tsgo, not alongside it. Running both in parallel produces duplicate diagnostics and degrades editor performance.

Supported Effect versions

Effect V4 (smol)

Primary target. All diagnostics and refactors fully supported.

Effect V3

Supported for most diagnostics. Some V4-only rules are skipped automatically.

Get started

1

Run the setup wizard

npx @effect/tsgo setup
The interactive wizard installs @effect/tsgo, configures your tsconfig.json plugin, and guides you through editor setup.
2

Configure your editor

Point your editor’s TypeScript language server at the effect-tsgo binary. See the Editor Setup guide for step-by-step instructions.
3

Start coding with Effect

Open any .ts file that uses Effect. You’ll immediately see diagnostics, quick fixes, and completions powered by the Effect Language Service.