# Forst ## Docs - [Introduction](https://forst-lang.org/docs/index.md): Combine the powers of Go and TypeScript. Towards ergonomic backends. - [Installation](https://forst-lang.org/docs/installation.md): Install the Forst compiler via npm, .deb, Docker, or native binary. - [Mix with Go packages](https://forst-lang.org/docs/interop/go.md): Transpile to Go, import packages, and mix .ft with .go in one module. - [Node](https://forst-lang.org/docs/interop/node.md): Adopt Forst alongside Node backends — share types, call Forst over HTTP, or keep calling legacy JavaScript. - [Call Forst from Node](https://forst-lang.org/docs/interop/node/call-forst.md): Invoke Forst functions from Node with forst generate, @forst/client, forst dev, @forst/sidecar, or a built-in HTTP server in your binary. - [Call JavaScript from Forst](https://forst-lang.org/docs/interop/node/call-javascript.md): Call legacy .ts and .js modules from compiled Forst via import node and a Node child process. - [Generate client types](https://forst-lang.org/docs/interop/node/generate-types.md): Emit .d.ts from Forst with forst generate so Node clients match server shapes. - [Ensure and narrowing](https://forst-lang.org/docs/language/ensure-and-narrowing.md): Explicit validation and type refinement with ensure and is. - [Errors and Result](https://forst-lang.org/docs/language/errors-and-result.md): Nominal domain errors and explicit success/failure types. - [Language overview](https://forst-lang.org/docs/language/overview.md): Aligned with Go, structural typing, and explicit control flow. - [Providers (DI)](https://forst-lang.org/docs/language/providers.md): Declare shared runtime services with use and wire them at entry points using with blocks. - [Shapes and constraints](https://forst-lang.org/docs/language/shapes-and-constraints.md): Define API boundaries as types with built-in validation. - [Type guards](https://forst-lang.org/docs/language/type-guards.md): Reusable predicates that integrate with ensure and the type system. - [Quickstart](https://forst-lang.org/docs/quickstart.md): Install Forst, write a validated handler, and run it in five minutes. - [For agents](https://forst-lang.org/docs/resources/llms.md): Compressed Forst usage for LLMs. Start here before reading full docs. Pair with /llms.txt or /llms-full.txt on this site. - [Roadmap](https://forst-lang.org/docs/resources/roadmap.md): What exists, what is in flight, and what Forst deliberately omits. - [Why Forst?](https://forst-lang.org/docs/why.md): Design priorities, what you get from Forst, and what the language omits. - [CLI reference](https://forst-lang.org/docs/workflow/cli.md): forst run, build, generate, dev, lsp, and other commands. - [Dev server](https://forst-lang.org/docs/workflow/dev-server.md): Local iteration with forst dev — HTTP contract, endpoints, and ftconfig. - [Editor workflow](https://forst-lang.org/docs/workflow/editor.md): Install the Forst VS Code extension and use diagnostics, hover, and navigation on .ft files. ## Optional - [GitHub](https://github.com/forst-lang/forst) - [npm](https://www.npmjs.com/package/@forst/cli) - [Roadmap](https://github.com/forst-lang/forst/blob/main/ROADMAP.md)