The stupid coordination tool
Tasks and architecture decisions in your repo, behind one CLI any coding agent can call.
npm install -g @haksolot/ank # one executable, and nothing beside it
npx skills add haksolot/ank # the skill, into whichever agent you runNeeds git 2.34 or newer. Every other route is in handing ank to an agent.
An agent that spawns on your codebase can read every line of it. It cannot read your tracker, your wiki, or the thread where you decided six months ago that sessions must never be self-contained JWTs. So it writes plausible code that breaks a rule nobody wrote down where it could be found.
Ank puts that layer in the repository, attached to the code it constrains, and
serves it through one command surface. .ank/ is opaque to an agent, the way
.git/ is: not a directory to grep, a CLI to call.

Four verbs carry the loop: ank context for what binds here and what is takeable,
ank claim to take a task and freeze its criterion, ank log while you work, and
ank done to finish with a proof that ank check can verify afterwards.
Getting started walks all of it with real output, from ank init onward.
Installing puts one executable on your PATH, and every surface ank has is a
verb of it. A client with no shell reaches the same verbs over MCP through
ank mcp, with no second file to fetch or discover, and getting started
carries the configuration to paste, for Claude Code, Claude Desktop and Cursor.
ank tui is the same corpus full-screen, for a human at a terminal. ank watch
keeps the corpora you declare warm so the next ank answers sooner, and nothing
depends on it running.
- Not a tracker. No cycles, estimates, velocity, roadmap or burndown.
- Not a wiki. Only what is actionable or binding for an agent goes in.
- Not a security boundary. It protects against drift, not against an attacker.
| If you want to | Read |
|---|---|
| go from install to a first finished task | Getting started |
| hand it to an agent, whichever one you run | Handing ank to an agent |
| build a tool on top of ank | Integrating with ank |
write a tool that reads or writes .ank/ |
The file format |
| know how it compares to RAG, a wiki, or OKF | How ank compares |
| open a pull request | Contributing |
| report a vulnerability | Security policy |
The specification is the source of truth and lives as ten accepted spec entities
in .ank/: ank find --type spec lists them, ank show <id> prints one whole.
Linux, macOS and Windows. The version is 0.x deliberately: the loop and the exit
codes are specified and an agent can branch on them today, while the storage format
is not, and a major version is a promise about exactly that. Contributions are under
a Code of Conduct.
Apache-2.0. See LICENSE.