# Forst - [Introduction](https://forst-lang.org/docs/index.md) - [Why Forst?](https://forst-lang.org/docs/why.md): Design priorities, what you get from Forst, and what the language omits. - [Quickstart](https://forst-lang.org/docs/quickstart.md): Install Forst, write a validated handler, and run it in five minutes. - [Installation](https://forst-lang.org/docs/installation.md): Install the Forst compiler via npm, .deb, Docker, or native binary. - [Language overview](https://forst-lang.org/docs/language/overview.md): Aligned with Go, structural typing, and explicit control flow. - [Describe a shape](https://forst-lang.org/docs/language/shapes-and-constraints.md): Define API boundaries as types with built-in validation. - [Check a value](https://forst-lang.org/docs/language/check-a-value.md): Language-level early returns as an alternative to manual checks. - [Name a reusable rule](https://forst-lang.org/docs/language/name-a-rule.md): Give a domain rule a name, then reuse it at every check. - [List alternatives](https://forst-lang.org/docs/language/union-and-intersection-types.md): Describe values with literal alternatives, error sets, or shared requirements. - [Return a named error](https://forst-lang.org/docs/language/named-errors.md): Give each expected failure a name and fields the caller can use. - [Functions that can fail](https://forst-lang.org/docs/language/result.md): A function returns a value or a failure. Check success before you use the value. - [Providers (DI)](https://forst-lang.org/docs/language/providers.md): Declare shared runtime services and supply them at entry points. - [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. - [Overview](https://forst-lang.org/docs/interop/invoke.md): Call Forst backend functions from JavaScript and TypeScript applications. - [Generate a TypeScript client](https://forst-lang.org/docs/interop/invoke/generate-types.md): Run `forst generate` and import typed clients from `@forst/gen`. - [Call Forst over HTTP](https://forst-lang.org/docs/interop/invoke/call-forst.md): Call Forst functions from JavaScript and TypeScript applications over HTTP. - [Invoke security](https://forst-lang.org/docs/interop/invoke/security.md): Local transport, authentication, and header rules for calling Forst over HTTP. - [Testing](https://forst-lang.org/docs/interop/invoke/testing.md): Replace Forst calls in tests, or start a real invoke server. - [Effect mode](https://forst-lang.org/docs/interop/invoke/effect.md): Use Effect to call Forst with typed errors, managed services, retries, and cancellation. - [Overview](https://forst-lang.org/docs/interop/bridge.md): Call legacy TypeScript and JavaScript from compiled Forst binaries. - [Import and call JavaScript](https://forst-lang.org/docs/interop/bridge/import-and-calls.md): Import legacy JavaScript modules in Forst, call sync or async functions, and iterate over generators. - [Build, deploy, and runtime modes](https://forst-lang.org/docs/interop/bridge/build-and-runtime.md): Compile Forst applications with JS imports, choose runtime hosts, and configure bridge security. - [Bridge security](https://forst-lang.org/docs/interop/bridge/security.md): Analyze the security model, allowlists, path jailing, and local IPC boundaries of the JavaScript bridge. - [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, regenerate on save, and `ftconfig`. - [Plugins](https://forst-lang.org/docs/workflow/plugins.md): Extend `forst generate` with semantic plugins (work in progress). - [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. - [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. ## 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) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.