You provide
- The result you want.
- Behavior that must not change.
- How you'll know it worked.
- Anything that needs your judgment.
Learn
After ait init, ask for what you want in plain language.
The repository instructions tell an AIT-aware coding agent how to plan
the work, isolate it, check it, record it, and complete it.
Responsibility
Agent execution
The Interactive Demo runs the whole password-control example: sprint item, Task receipt, diff, test output, Snapshot, and closeout receipt.
A real one
$ ait task start … --intent '…' --local --json
{
"ok": true,
"task_id": "LT-0001",
"line_name": "feature/lt-0001",
"next_action": { "code": "enter_worktree", "command": "cd …/workspace/lt-0001" }
}
$ npm test
AssertionError [ERR_ASSERTION]: cooldown must block rapid fire
2 !== 1
# the agent edits src/game.js inside the worktree, then reruns the checks
$ npm test
{"contract":"ait-plane-shooter-self-test/v1","status":"pass"}
$ ait task finish LT-0001 --message 'Restore the 180 ms projectile cooldown
and add exact boundary regression coverage; npm test passes.' --local --json
{
"ok": true,
"command": "task.finish",
"task_id": "LT-0001",
"target_line": "main",
"closeout": { "task_status": "completed", "worktree_status": "removed", … }
}
Abridged but verbatim: these lines come from admitted session
b001-gd-01 of the published
200-session benchmark (2026-08-26).
Long runtime paths are shortened and elided fields sit under the
… marks; every line shown is as recorded.
The Task stays tied to the sprint item that asked for it.
The Task gets its own worktree instead of mixing into unrelated edits.
The Snapshot pins the exact code that went with those check results.
The Task, the target line, and the sprint item all end up saying the same thing.
Install the current stable release, initialize one repository, and let the agent carry your first change through verified closeout.