kadence

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 contract

kadence 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, delete

Types 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|list

Burndown 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|delete

Bulk operations

Bulk works everywhere, and it is all or nothing:

kadence task move KAD-1,KAD-2 done

Either 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

On this page