Skip to main content
kane-cli began as a way to author and replay browser tests. The assurance commands take on the step before and after: describe what your product must do, and kane-cli designs the tests that prove it — each one permanently linked to the requirement it verifies. Run them, and coverage stops being a guess: every run reports exactly what it proved and what it still owes. And as your product changes, the suite is reconciled instead of quietly rotting.
Requires kane-cli 0.6.1 or later (kane-cli --version). On 0.6.0 these commands fail after a fresh install — upgrade.

The loop

Every stage is a separate command, so you can stop, review, and resume at any point — nothing downstream happens without the upstream commit.

The vocabulary

Assurance vs generate

kane-cli has two ways to author tests, for two different jobs:
  • kane-cli generate — quick test cases from a plain-language description. One prompt in, scenarios and cases out. Great for exploring coverage of a feature you can describe in a sentence.
  • The assurance lifecycle — tests derived from your actual requirement documents, with every claim cited, every proposal reviewed, and a permanent, auditable link from each test back to the criteria it verifies. Use it when you need to answer “what exactly is covered, and how do we know?”
If you have a PRD and care about coverage accounting, start with assurance. If you want ten good test ideas in a minute, start with generate.

The store: .context/

The assurance commands work over a local store in your project directory, created on first ingest:
  • It is append-only in everyday use: no command that writes to it deletes or rewrites a record. Edits create new versions, and mistakes are reverted with compensation records. kane-cli context explain can replay the full history of any node. The one exception is a sync rebase, which replaces your records after the last shared one with the location’s and reapplies your own on top, and every replaced record is kept in a backup.
  • It is yours and local: sources, use-cases, designs, and review verdicts live in your project. The extract and design agents run against the KaneAI service using your login and send it what they need to read, but the store they commit to is on your disk, and the store itself goes elsewhere only when you publish it to a location your team shares.
  • Never merge .context/ with git. The store is single-writer, and two branches appending records will corrupt it on the next read. Kane CLI adds .context/ to your .gitignore when it creates the store inside a git repository, and KANE_CONTEXT_GITIGNORE=0 keeps it out.
  • Share it through a location: bind the store to a GitHub repository, an S3-compatible bucket, or a folder on a shared drive, then kane-cli context push publishes your records, kane-cli context pull takes your teammates’, and kane-cli context clone gives a new teammate a store of their own. Nothing on a location is ever overwritten or deleted, and when two people change the same thing the disagreement is a decision you answer, never a silent overwrite. See Sharing the context graph with your team.
  • kane-cli context fsck verifies the whole store; kane-cli context rebuild regenerates the read caches from the verified records.

What costs credits

context extract, design tests, and maintain reconcile (which embeds them) call the KaneAI agent and consume credits (kane-cli balance to check; each agent turn’s cost is reported as it happens). Everything else — list, view, review, explain, cover, fsck — is local and free.

Next steps