Roadmap
TypeScript coding harness for web projects: packages/core for the loop and gate, tsforge.dev for docs.
Shipped through 0.37
Section titled “Shipped through 0.37”Strictness & the gate
- Stack detection → 22 ESLint rule packs (including Three.js) + a 31-rule meta-rule engine (config, CI, supply chain, container, testing, structure). See Rule packs · Meta-rules.
- 4 profiles (recommended → strict / security / opinionated); a type-aware ESLint overlay; progress-based loop termination (no blunt turn cap). See When the gate fails.
- Tests by default:
test-sibling-requiredis an error on changed logic files. Opt-in gate oracles (coverage, boot smoke, property tests). See Tests by default · the gate.
Adapt to your repo
tsforge setup: a conventions wizard that scans the repo and writestsforge.config.json(interface naming, enums, test layout, component folders) without weakening the safety floor. See Set up a repo.tsforge.config.jsonoverrides + external plugin packs. See config.
The agent surface
- Functional review (
tsforge review, gate-aware) · workspace map (tsforge map) · pre-edit scout · declarative recipes (tsforge run) · plan mode · cross-session memory. - Permissions & policy: 6 modes, deny-first config rules, and a run ledger summarized by
tsforge trace. See Permissions & policy · Trace a run. - Keyless web research: opt-in package metadata/docs, search, fetch, and local browser reads with no required API key. See Web access.
- Greenfield scaffolding: stands up the full BoringStack stack and builds it resource-by-resource against BoringStack’s own gate. See Greenfield scaffolding.
Models & observability
- Provider-agnostic
~/.tsforge/models.json(any OpenAI-compatible API; reasoning expressed as a declarative field-path profile, with presets for the common cases). See models.json. - MCP servers as read-only context/tools. See MCP servers.
- Live tok/s +
/metrics+ a--logJSONL analyzer. See Token metrics.
Reliability internals: tool-call repair ladder (L0–L3), hashline edit_lines with snapshot recovery, TTSR stream-interrupting rules, instant per-write type diagnostics, statistical A/B reports, graded self-harness progress, real wall-time records, failure classification, and prompt-cache visibility.
Architecture & independent review: a generated, drift-checked map of all 30 harness subsystems (including dependency witnesses, entry points, and adapter seams); read-only model-driven subagents; and an independent reviewer panel with identity de-duplication, quorum enforcement, and explicit dropout causes. See Subsystems · Delegation.
Highlights since 0.27
Section titled “Highlights since 0.27”- 0.28–0.31: the multiline TUI and
/confighub, incremental gate caching, recipe-level profiles/procedure cards, image capabilities, and read-only parallel subagents. - 0.32–0.35: BoringStack gate-parity and browser-acceptance hardening, live OpenAPI/DB boundary checks, the core↔adapter seam, modern layout intent, strict greenfield re-detection, and strictness-preserving resume.
- 0.36–0.37: the core audit fixes (fail-loud packs/flags/profile floors and normalized writable paths), declarative reasoning profiles, graded self-harness evaluation, reviewer independence/diagnostics, prompt-cache metrics, and the generated architecture map.
- 0.51: LSP navigation tools for the model (
go_to_definition,impact,symbol_context) and an@mention picker that surfaces workspace symbols alongside files. See TypeScript language server · Input editor. - 0.52: Gate rail TUI — cycle Tasks/Gate in the right rail, structured gate errors with rule docs, Enter-to-steer, configurable pane keybindings,
?keymap overlay, OSC 8 file:line links. See Interactive CLI. - Three.js pack: canonical
three/three/addons/...imports, GPUdispose()contracts, scene-graph APIs (add/removenot.children), loader error paths, instanced-bufferneedsUpdate. Detected fromthreeor@react-three/fiber. See Rule packs.
Sequencing rule: Measured wins first. No feature defaults change and no 1.0 tag until A/B numbers against the reference model exist.
Road to 1.0
Section titled “Road to 1.0”- Run sweeps:
TSFORGE_FEATURE_VARIANTS=git,scriptacross benchmark seeds (TTSR, hashline, and write feedback already graduated to always-on from earlier sweeps) - Publish numbers (pass rate, edit success, tokens saved)
- Tune the remaining tool-availability defaults from data (
git_context,script, web research) - Freeze config and tool surface
Candidate work
Section titled “Candidate work”- Rule packs: Hono, Prisma
- TTSR rules derived from eval failure patterns
- Meta-rule severity learning from repair-loop telemetry
Completed (v0.1 track)
Section titled “Completed (v0.1 track)”| Commit | Phase |
|---|---|
2198361 | stack-detection module for rule pack selection |
9c0964e–2936a6f | vendored stack-agnostic ESLint rule packs + behavioral fixtures |
8b7e9f3–c42b00f | Drizzle + BullMQ packs |
9da5e82–ab64600 | Elysia, structured-logging, frontend, auth packs |
8c19dfd | wire stack-aware packs into gate and prompt |
1d67899–3591e1b | meta-rule engine + gate integration + unified rule docs |
6b88b54 | tsforge.config.json escape hatch |
a803d1a | cost-ordered tool-call repair ladder |
f6a21db | hashline edit tool with snapshot recovery |
9871ace–37f8795 | TTSR stream-interrupting rules |
a2126f0 | instant per-file type diagnostics on write |
4b33bb4 | A/B eval support for TTSR, hashline, write-feedback |