Ship TypeScript
that can't cheat.
A harness with 161 enforced rules for full-stack TypeScript — React, Next, Node, Bun, Drizzle, Fastify, Three.js, and more. The build doesn't finish until the gate passes.
curl -fsSL https://tsforge.dev/install.sh | bashRequires Bun. Other install paths(npm @agjs/tsforge, from source).
What the gate enforces.
Every rule is opinionated. Every check is required. The harness reads strict TypeScript, type-aware ESLint, and its own meta-rules — and won't ship code that leaks.
Refuses untyped code at the door.
Reads your editor's truth, not heuristics.
Full-stack, one harness.
Builds until the gate passes.
Patterns the harness refuses to ship.
- as any
- as unknown as
- @ts-ignore
- @ts-nocheck
- // eslint-disable
- floating promises
- non-null !
- implicit any
One command. Composable with anything.
CLI, gate, review, MCP clients.
Propose. Build. Gate.
Until it passes.
Propose
The model starts primed on the import graph and the rule packs your stack triggers, so the first patch already respects your module boundaries. No blank-prompt guessing.
Build
Patches are type-checked in-process against the language service before they touch disk. One that wouldn't compile never lands; the model gets the diagnostic and revises.
Gate
tsc strict, type-aware ESLint, the meta-rules, and your tests run as one exit condition. Red re-plans within a turn budget. Green is the only way out.
A full agent harness,
not a linter.
Setup wizard
Scans a repo's conventions and adapts the gate to them — no safety lost.
Functional review
Senior-lens diff review, each finding adversarially re-checked against the code.
Workspace map
Primes the agent on your repo's shape so it starts oriented, not guessing.
Pre-edit scout
Seeds brownfield edits with a type-exact caller blast radius.
Recipes
Declarative, checked-in run setups — invoke with tsforge run <id>.
Cross-session memory
Learns the fixes that worked and recalls the recurring ones later.
MCP servers
Plug in external Model Context Protocol tools and live docs.
Plan mode
Read-only exploration — you approve the plan before anything is edited.
Permissions & policy
Deny-first modes for writes, shell, and network; a ledger of every action.
Greenfield scaffolding
Stands up a full BoringStack stack and builds it feature-by-feature.
Opt-in oracles
Boot smoke, coverage, property tests, a11y, real browser render.
Keyless web research
Package metadata, docs, search, fetch, and local browser reads — no vendor API key.
See what changed, and what proved it safe.
Every run prints the edits it made and the gate that signed off: the actual tsc, ESLint, and test output. A failure names the rule that rejected the code. Nothing hides behind a spinner.