Quickstart
A sprint from an empty repository to a closed one, in about a minute.
Install
npm install -g kadenceNode 20 or newer, on macOS, Linux or Windows. One runtime dependency (the
terminal UI library), 44 KB packed. Upgrading is npm install -g kadence@latest;
removing it is npm uninstall -g kadence, and your .kadence/ folder stays
readable JSON either way.
npx kadence works for a single command, but it leaves nothing installed — the
obvious next step then fails with "command not found". Install globally.
Set up in a repository
cd your-project
kadence initThis creates .kadence/, committed with your code, and adds a short section to
AGENTS.md and CLAUDE.md so your AI agents find the tool without being told
about it — anything a human wrote in those files is left alone. It edits nothing
else, and runs no git command on your behalf.
Run a sprint
kadence sprint create "Sprint 14"
kadence task add "Fix login" -d "Broken since 2.3" --type bug --priority high --estimate 3
kadence sprint add KAD-1
kadence task comment KAD-1 "The redirect drops the cookie, not the session."
kadence task move KAD-1 in_progress
kadence task log KAD-1 4.5
kadence task move KAD-1 done
kadence sprint closeClosing a sprint prints what it cost, derived from the timestamps already in the journal:
Sprint "Sprint 14" closed.
Velocity: 23 of 28 points
Actual: 37h — 1.6h per pointNobody fills in a form. Nobody can forget to update it.
Look at the board
kadence board # plain columns, for pipes and scripts
kadence ui # interactive kanban in the terminalkadence ui is keyboard and mouse driven, with drag between columns and every
field editable in place. It calls the same commands the CLI does, so the two
cannot disagree. It also loads lazily, so kadence task add never pays for it.
Read one piece of work
kadence task show KAD-1Status, type, priority, blockers, estimate, logged hours, comments, and the full
history of events that led there. Add --json and your AI agent reads the same
thing.