Skip to content

CLI usage ​

Run commands from the repository root. kanbot --help and kanbot <command> --help list the same flags.

kanbot init ​

Scaffold agents, skills, config and GitHub files into the repo. Also writes .github/CODEOWNERS, updates .gitignore and runs sync.

FlagDefaultDescription
--provider <claude|codex>claudeAgent provider.
--forcefalseOverwrite existing files.

kanbot board create ​

Create a GitHub Project with the kanbot columns, save it to config and add the repo labels. If a project is already set, it only ensures labels. Prints the built-in workflows to enable.

FlagDefaultDescription
--title <title>repo nameProject title.

Use an existing project. Warns about missing columns.

FlagDescription
--owner <login>User or org that owns the project.
--number <n>Project number.

kanbot sync ​

Generate .claude/agents/, .claude/settings.json and .codex/agents/ from .kanbot/agents/. Also links .claude/skills to .agents/skills. Run it after editing agents, then commit.

FlagDescription
--checkExit 1 if generated files are stale.

kanbot doctor ​

Check that everything is in place: gh auth and scope, provider login, agents, generated files, files pushed to the base branch, board columns, board workflows and labels. Prints a fix for each failed check. Exits 1 on failure.

kanbot run ​

Start the daemon. It polls the board, runs agent jobs and applies their results to GitHub. Stop it with Ctrl-C; running jobs finish first.

FlagDescription
--onceRun one tick, wait for its jobs, exit.
--dry-runPrint what would happen. Change nothing.
-v, --verboseVerbose logging.

kanbot status ​

Show the board by column, daemon PID, provider, needs-human issues, local failure counts and any rate-limit pause.

kanbot completion ​

Print a shell completion script.

FlagDefaultDescription
--shell <zsh|bash|fish>$SHELLTarget shell.

Files written at runtime ​

PathWhat
.kanbot/logs/*.jsonlFull transcript of each agent run.
.kanbot/state.jsonFailure counts and rate-limit pause.
.kanbot/daemon.pidLock so only one daemon runs per repo.
~/.kanbot/worktrees/Git worktrees, one per job.

The first three are gitignored by init.