CLI reference
Every command, and the flags that matter.
Setup
kadence init set up in this repository
kadence ui interactive board
kadence board plain columns; `board config` sets your own
kadence schema the machine-readable --json contractkadence schema --json works outside a repository — it describes the tool, not
your project. Everything else needs a git repository with .kadence/ in it.
Tasks
kadence task add "<title>" -d --type --priority -a --label --due
--parent --template --estimate
kadence task list --search --status --assignee --overdue
--sort --tree
kadence task show KAD-1 detail, comments and history
kadence task edit KAD-1 opens $EDITOR, or pass field flags
kadence task move KAD-1 done also: assign, comment, log, parent, block,
cancel, deleteTypes are task, bug, story, epic.
Decisions and documents
kadence decision add "<title>" --why (required) --rejected --task
--supersedes --doc
kadence decision list current decisions; --all adds the history
kadence decision show DEC-1 reasoning, whether it still holds, and
who wrote it (source: human | agent)
kadence task doc KAD-1 <path> link a document to a task--why is required: without it the record says only what changed, and git
already says that. Superseding is one event — the backward link is derived while
folding, so the two directions cannot fall out of step. Full explanation in
Recording why.
Sprints
kadence sprint create|add|start|close|status|burndown|listBurndown is reconstructed from the journal for any day — including days before the feature existed, because the events were already there.
Templates
kadence template save|list|deleteBulk operations
Bulk works everywhere, and it is all or nothing:
kadence task move KAD-1,KAD-2 doneEither both move or nothing changes. A typo does not leave half a board.
JSON output
Every command above takes --json. stdout is then JSON and nothing else;
warnings go to stderr.
kadence board --json
kadence board --json --fields label,status,assignee
kadence task list --json --fields label,status,estimate--fields is available on board and task list, the two commands that return
many tasks at once. On a 200-task board it takes the response from 130,799 bytes
to 11,015. An unknown name fails with unknown_field and the list of what
exists.
The full contract — commands, guaranteed fields, error codes, exit codes — is
written for AI agents and printed by kadence schema --json.
Environment
KADENCE_SOURCE=agent record the event as written by an AI agent
NO_COLOR=1 any value disables colour