> ## 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.

# Effect Language Service (tsgo)

> TypeScript-Go enhanced with the Effect LSP experience — diagnostics, quick fixes, refactors, and completions for Effect-TS.

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Install and configure the Effect Language Service in minutes.
  </Card>

  <Card title="Editor Setup" icon="code" href="/editor-setup">
    Configure VS Code, Neovim, and other editors to use tsgo.
  </Card>

  <Card title="Diagnostics" icon="triangle-exclamation" href="/diagnostics/overview">
    Explore all Effect-specific diagnostics and their severities.
  </Card>

  <Card title="Refactors" icon="wand-magic-sparkles" href="/features/refactors">
    Code actions to convert async/await, compose layers, and more.
  </Card>
</CardGroup>

## What is Effect Language Service (tsgo)?

`@effect/tsgo` is a **superset of [TypeScript-Go](https://github.com/nicolo-ribaudo/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

<Note>
  `@effect/tsgo` is currently in **Alpha**. Expect breaking changes between releases and some missing features compared to the previous TypeScript-based version.
</Note>

## 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.

<Info>
  Use `effect-tsgo` **instead of** `tsgo`, not alongside it. Running both in parallel produces duplicate diagnostics and degrades editor performance.
</Info>

## Supported Effect versions

<CardGroup cols={2}>
  <Card title="Effect V4 (smol)" icon="star">
    Primary target. All diagnostics and refactors fully supported.
  </Card>

  <Card title="Effect V3" icon="check">
    Supported for most diagnostics. Some V4-only rules are skipped automatically.
  </Card>
</CardGroup>

## Get started

<Steps>
  <Step title="Run the setup wizard">
    ```bash theme={null}
    npx @effect/tsgo setup
    ```

    The interactive wizard installs `@effect/tsgo`, configures your `tsconfig.json` plugin, and guides you through editor setup.
  </Step>

  <Step title="Configure your editor">
    Point your editor's TypeScript language server at the `effect-tsgo` binary. See the [Editor Setup](/editor-setup) guide for step-by-step instructions.
  </Step>

  <Step title="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.
  </Step>
</Steps>
