Skip to main content
Kane CLI authors and replays browser tests. The assurance commands handle the work around that. You describe what your product must do, and Kane CLI designs the tests that prove it, with each test permanently linked to the requirement it verifies. When you run those tests, every run reports what it proved and what is still missing, so coverage is measured rather than guessed. When your product changes, you reconcile the suite against the change instead of letting it drift out of date.
Requires Kane CLI 0.6.1 or later. Check your version with kane-cli --version. On 0.6.0 these commands fail after a fresh install, so upgrade first.

The loop

Each stage is its own command. You can stop, review, and resume at any point, and no stage runs until the stage before it has committed its output.

The vocabulary

Assurance vs generate

Kane CLI has two ways to author tests, each suited to a different job:
  • kane-cli generate creates quick test cases from a plain-language description. You give one prompt and get scenarios and cases back. Use it to explore coverage of a feature you can describe in a sentence.
  • The assurance lifecycle derives tests from your actual requirement documents. Every claim is cited, every proposal is reviewed, and each test keeps a permanent, auditable link 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 accounting for coverage, 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. The first ingest creates it.
  • It is append-only in everyday use. No command that writes to the store deletes or rewrites a record. An edit creates a new version, and a mistake is undone by adding a compensation record. kane-cli context explain replays the full history of any node. The one exception is a sync rebase: it replaces your records after the last shared record with the location’s records, then reapplies your own on top, and keeps every replaced record 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 they commit to the store on your disk. The store leaves your machine only when you publish it to a location your team shares.
  • Never merge .context/ with git. The store has a single writer, and two branches appending records will corrupt it on the next read. When Kane CLI creates the store inside a git repository, it adds .context/ to your .gitignore. Set KANE_CONTEXT_GITIGNORE=0 to stop it.
  • 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’ records, and kane-cli context clone gives a new teammate a store of their own. Nothing on a location is ever overwritten or deleted. When two people change the same thing, you answer the disagreement as a decision, so nothing is overwritten silently. See Sharing the context graph with your team.
  • kane-cli context fsck verifies the whole store, and kane-cli context rebuild regenerates the read caches from the verified records.

What costs credits

context extract, design tests, and maintain reconcile (which embeds both) call the KaneAI agent and consume credits. Run kane-cli balance to check your balance, and each agent turn reports its cost as it happens. Everything else, including list, view, review, explain, cover, and fsck, runs locally and is free. The sync commands (kane-cli context push, kane-cli context pull, kane-cli context sync, kane-cli context clone, and a rebase) talk only to your location, never to the KaneAI service, so they cost no credits either.

Next steps