Repository navigation
What's changed in v6.0.0
Highlights
Windsurf support is removed. Specnaut now scaffolds for six harnesses: Claude Code, Cursor,
Codex, Copilot, OpenCode and Antigravity. On a project installed for Windsurf, upgrade, diff,
reconcile and check stop with one message, change nothing, and name the command that switches
the project to another harness. UPGRADING.md has the steps.
The unit suite runs once per item, not on every commit. The workflow commits once per task and
once per epic child, and three places ran the whole suite at that rate. Now each moment has its own
content. Every commit gets static checks only: the fast gate tier is documented as format, lint
and type check. When the work is done, the review runs the unit suite once on the frozen tree; on an
epic it skips it for every child but the last and says so. The merge runs unit plus functional /
end-to-end once, through the full tier. Per-task verification runs the tests relevant to the
change. gates.yml and the quality-gates doc also advise keeping your own commit hook static.
⚠ Breaking changes
- Remove Windsurf support (#659)
Features
- Run the unit suite once per item, not on every commit (#658)
Bug fixes
- Read the tier guards LF-normalised so a CRLF checkout passes
Adoption guide
These prompts help your AI agent adopt the new features in an existing project. Copy them into your harness, or run @specnaut-guide review-upgrade to be walked through automatically.
#658 — Run the unit suite once per item, not on every commit
Open `.specnaut/gates.yml`. If `fast_gate` lists the project's unit or
end-to-end test command, move it to `full_gate` (keep it there once) and
leave the formatter, linter and type checker in `fast_gate`. Then look at
this project's own git commit hook (`.git/hooks/pre-commit`, or the config
of whichever hook manager the project uses). If it runs the whole test
suite, tell the user that agents commit once per task, propose moving the
suite out of the hook and keeping only format, lint and type check there,
and make the change only if they agree. Never bypass a hook to get a
commit through.
#659 — Remove Windsurf support
Read `.specnaut/installed.lock`. If `harness:` is anything other than
`windsurf`, there is nothing to adopt — say so and stop.
If it is `windsurf`, Specnaut no longer supports this project's harness.
Ask the user which harness they use now (claude, cursor, codex, copilot,
opencode or antigravity). Then run
`specnaut init --here --force --ai <that harness>`, list the
`*.specnaut.bak` files it created, and diff each one against the file it
replaced so the user can carry their own edits (AGENTS.md, the
constitution) across. Leave `.windsurf/` in place unless the user asks
you to delete it.
Internal / chores
2 internal changes
- Lead the release notes with the per-moment test tiers
- Drop Windsurf from the README and AGENTS, add the 6.0.0 upgrade note
Full changelog: v5.5.0...v6.0.0