CLI Reference
This reference describes the intended Kanbus CLI for the first release. It is based on the current specification and will be kept in parity with both implementations. Rust installs kbs with identical subcommands.
Global Flags
All commands support:
--jsonEmit machine-readable JSON output--helpShow command help--versionShow CLI version (exempt fromkanbus-versionchecks)
Project CLI version requirement
Repositories may declare a minimum Kanbus CLI version in a root file named kanbus-version. The file contains a single line with a semantic version core (MAJOR.MINOR.PATCH), for example:
0.19.1
When present, every CLI command (except --help, --version, init, setup, and repair) compares the running CLI version against this requirement before loading project data. Git-describe suffixes on the running version (for example 0.18.3-29-g36a5204) use only the leading MAJOR.MINOR.PATCH portion. Rust builds that cannot see a kanbus-rust-* tag (shallow clones, crates.io) fall back to the Cargo package version so the running CLI remains comparable. If the running CLI is too old, the command exits with code 1 and prints an upgrade message. Missing or unreadable files are handled as follows:
- Missing file: skip the check
- Empty or invalid file: fail with a parse error before project commands run
Upgrade an outdated Rust CLI with:
cargo install kanbus --locked --force
Setup
kanbus init
Initialize a Kanbus project in the current git repository.
kanbus init [--local]
Flags:
--localCreate aproject-local/sibling directory for personal issues
Notes:
- If no
OPENAI_API_KEYis found (shell environment,~/.kanbus.env, or project.env),initprints a stderr hint:Hint: no OPENAI_API_KEY found. Run "kbs setup ai" to store one in ~/.kanbus.env.
kanbus setup agents
Ensure AGENTS.md contains the Kanbus project-management section and refresh CONTRIBUTING_AGENT.md.
kanbus setup agents [--force]
Flags:
--forceOverwrite the Kanbus section without prompting
Notes:
- Run this after you update Kanbus templates or configuration so agent guidance stays current.
- This command only updates documentation and guard files. It does not modify issue data.
kanbus setup ai
Store an LLM API key once per user, so compaction, right-now summaries, standup rollups, and
wiki summarization work in every project without a per-project .env.
kbs setup ai [--key VALUE] [--from-stdin] [--variable NAME] [--status]
Flags:
--key VALUEPass the key value directly. The value may land in shell history; prefer the interactive prompt or--from-stdin.--from-stdinRead the key from the first line of stdin, e.g.pbpaste | kbs setup ai --from-stdinorop read ... | kbs setup ai --from-stdin.--variable NAMEStore a different variable (defaultOPENAI_API_KEY), e.g.ANTHROPIC_API_KEYforanthropic/...models on the Python LiteLLM path.--statusPrintOPENAI_API_KEY: <source>(process environment,~/.kanbus.env,project .env, ornot set) followed by the lookup order. Never prints the key itself.
With no flags in an interactive terminal, prompts for the key with hidden input. Works outside a
project — no .kanbus.yml needed.
On success, prints: Saved OPENAI_API_KEY to ~/.kanbus.env (mode 600). A project .env or your shell environment can override it per project.
Run non-interactively with no key provided fails with: no key provided; pass --key, --from-stdin, or run interactively.
Precedence when resolving a key at runtime: shell environment, then ~/.kanbus.env, then the
project .env file.
kbs setup ai is a friendlier shortcut for kbs setup env OPENAI_API_KEY (or another variable
via --variable); see kanbus setup env below for the general-purpose command.
kanbus setup env
Store or inspect any environment variable in ~/.kanbus.env, machine-wide. kbs setup ai is
built on this command, specialized for the LLM API key.
kbs setup env NAME [--value VALUE] [--from-stdin] [--status]
Arguments:
NAMERequired. The environment variable name, matching^[A-Z][A-Z0-9_]*$. Fails otherwise withinvalid variable name: <name>.
Flags:
--value VALUEPass the value directly.--from-stdinRead the value from the first line of stdin.--statusPrintNAME: <source>(process environment,~/.kanbus.env,project .env, ornot set) followed by the lookup order. When not set, a third line prompts:Run 'kbs setup env NAME' (or 'kanbus setup env NAME') to store one in ~/.kanbus.env.
Value source precedence when saving: --value, then --from-stdin (first line), then a hidden
interactive prompt. Non-interactive with none of these fails with: no value provided; pass --value, --from-stdin, or run interactively.
Writes or updates the NAME=... line in ~/.kanbus.env (mode 600), preserving other lines. On
success, prints: Saved NAME to ~/.kanbus.env (mode 600). A project .env or your shell environment can override it per project.
Works outside a project — no .kanbus.yml needed.
Issue CRUD
kanbus create
Create a new issue.
kanbus create <title> [options]
Options:
--type <type>Issue type (default:task)--priority <0-4>Priority (default: from config)--assignee <name>Assign to someone--parent <id>Set parent issue--label <label>Add a label (repeatable)--blocked-by <id>Add a blocked-by dependency (repeatable)--description <text>Set description body (use-to read from stdin)--agent-platform <name>Agent product name (Title Case; see Agent metadata)--agent-model <name>Model name (Title Case)--agent-name <name>Session or bot display name (required for complete provenance)--agent-settings <json>JSON object of runtime settings
Example:
kanbus create "Implement OAuth2 flow" --type task --priority 1 --label auth
Example with agent metadata:
kanbus create "Agent task" --type task \
--agent-platform "Cursor" --agent-model "Composer 2.5" --agent-name "Cloud Agent" \
--agent-settings '{"thinking_level":"high"}'
kanbus show
Show issue details, dependencies, and comments.
kanbus show <id>
kanbus update
Update issue fields.
kanbus update <id> [options]
Options:
--status <status>Transition status--priority <0-4>Change priority--assignee <name>Change assignee--claimSet assignee to current user and status toin_progress--title <text>Change title--add-label <label>Add a label--remove-label <label>Remove a label--agent-platform <name>Agent product name (Title Case; see Agent metadata)--agent-model <name>Model name (Title Case)--agent-name <name>Session or bot display name (required for complete provenance)--agent-settings <json>JSON object of runtime settings
Note: Incomplete provenance on create and comment warns with a one-step kbs update or kbs comment update command. Those commands set agent when it is missing. Complete metadata is not replaced.
Example:
kanbus update kanbus-a1b2c3 --status in_progress --assignee "you@example.com"
kanbus close
Close an issue (shortcut for --status closed).
kanbus close <id> [--comment <text>]
With --comment, Kanbus records a normal issue comment before it attempts the
close transition. If the comment is invalid, the issue is unchanged. If the
comment succeeds but closing is rejected, the comment remains and the issue
keeps its prior status.
kanbus delete
Delete an issue (removes the file).
kanbus delete <id>
Issue Router
The optional Issue Router dispatches labeled issue packages through the configured agent adapter (Codex or OpenCode). See the Issue Router operator guide for configuration and recovery, and the Issue Router design for exact planning, result, and lifecycle contracts.
kanbus router plan [--json]
kanbus router run --once
kanbus router run --watch
kanbus router pause
kanbus router resume
kanbus router hold --class <name>
kanbus router hold --provider-profile <name>
kanbus router unhold --class <name>
kanbus router unhold --provider-profile <name>
kanbus router status
kanbus router cancel <package-id>
kanbus router stop
plan --json prints a stable, two-space indented plan object. run requires exactly one of --once or --watch; --once processes at most the first eligible package and exits. --watch reconciles immediately, then polls router state and GitHub pull request state at router.watch_interval (default 30s). The current watcher does not subscribe to MQTT for early wake-ups.
hold and unhold require exactly one of --class <name> or --provider-profile <name>. Pause, resume, holds, and watch state are local to the current clone; their router events are published for audit, but another clone does not inherit the effective control state. stop targets the local watch process and lets its active adapter call finish before exit. The Rust executable is available as both kanbus and kbs; the Python executable is kanbus.
The router publishes event history and router-owned issue status records to refs/heads/kanbus/router-state through an isolated hidden worktree. A usable origin is needed to share that branch with other clones. Checkpoint and artifact references are recorded in router history, but the current implementation does not separately push those refs or arbitrary artifact objects to origin; see the Issue Router design for details. Router commands fail with exit code 2 and error: issue router is not configured when the project has no router: block.
Queries
kanbus list
List issues with optional filters. Uses the index daemon by default.
kanbus list [filters]
Filters:
--type <type>Filter by issue type--status <status>Filter by status--priority <n>Filter by exact priority--assignee <name>Filter by assignee--label <label>Filter by label--parent <id>Filter by parent issue--sort <field>Sort by field (prefix-for descending)--limit <n>Limit number of results (default: 0, no limit)--allShow all issues (same as--limit 0; cannot combine with--limit)--full-idsShow full issue keys even in single-project context
Example:
kanbus list --status open --sort priority --limit 10
kanbus list --parent kanbus-a1b2c3
kanbus list --all
In human-readable output, every configured status that has no issues in the result gets a marker line after the issue rows, in configuration order:
T open - open P2 Title
T closed - closed P2 Title
Backlog: (empty)
In Progress: (empty)
Blocked: (empty)
The marker lines follow the current filters: with --type, only statuses in
that type's workflow appear, and columns that have at least one listed issue
get no marker line. --porcelain (machine-readable output) and beads
compatibility mode never print marker lines.
kanbus standup
Generate on-demand standup reports from right-now summaries (fail-closed; no placeholder text).
kbs standup [issue-ids...] \
[--profile meeting-script|director-brief] \
[--window rolling|calendar] \
[--lookback 24h|8h|1d|...] \
[--skip-weekends|--no-skip-weekends] \
[--rollup flat|project|tree] \
[--json]
--window:rolling(duration lookback) orcalendar(calendar-day buckets instandup.timezone).--lookback: Rolling duration string (8h,24h,1dsugar for 24h). Ignored for calendar completed-day selection except as configured lookback metadata.--skip-weekends/--no-skip-weekends: Calendar only. On Monday with skip enabled, completed bucket includes Friday–Sunday; otherwise previous calendar day only. No-op when--window rolling.- Profile defaults:
meeting-scriptuses calendar + skip weekends;director-briefinherits global rolling + 24h. CLI flags override config and profile. - Default fact feed (no issue IDs): congregation scope (
in_progressandblocked, cap 30). --rollup:flat(per-leaf bullets),project(one labeled bullet per project with bottom-up LLM rollup of right-now facts), ortree(nested by hierarchy with upward rollup on parents when children differ). When omitted:projectforvirtual_projectsboards;flatfor single-project board-wide;treefor explicit scoped issue IDs.- Project labels (congregation /
virtual_projects): bracket prefixes use one canonical display name per partition —virtual_projects.<key>.display_namewhen set, else congregationnamefor the primary board, else the partition key. Issueproject_labelmetadata is normalized so the same board never appears under two labels in one report. - Close-out section (both profiles): merged-but-open WIP, ready-to-close, external blocks, and a narrow stale WIP class (finishable phrasing such as waiting on review/deploy, no recent descendant activity). Capped at six bullets, prioritized for actionability. Likely questions skip issues already listed in Close-out.
- director-brief Momentum uses the same
--rollupresolution as meeting-script Today (including congregation defaultproject). - Yesterday: emits
No completions yesterday.when empty.
kanbus commit
Commit project/issues/ changes to git.
kanbus commit
Daemon
kanbus daemon-status
Report daemon status.
kanbus daemon-status
kanbus daemon-stop
Stop the daemon process.
kanbus daemon-stop
kanbus ready
List open issues with no open blockers.
kanbus ready
Blocked issues
List issues in blocked status.
kanbus list --status blocked
Searching
Full-text search across titles, descriptions, and comments.
kanbus list --search <text>
Dependencies
kanbus dep
Manage issue dependencies.
kanbus dep <id> blocked-by <target-id>
kanbus dep <id> relates-to <target-id>
kanbus dep <id> remove blocked-by <target-id>
kanbus dep <id> remove relates-to <target-id>
kanbus dep tree <id> [--depth N] [--format FORMAT]
Agent metadata
Tag create and comment with Title Case product, model, and session name (--agent-platform, --agent-model, --agent-name, or matching KANBUS_AGENT_* defaults). That is the expected path for agent provenance. Settings (--agent-settings) stay optional. If provenance is incomplete, the write still succeeds and stderr warns with a ready kbs update or kbs comment update command. Native Kanbus issue JSON stores the agent block when present; event payloads include it when present. CLI and console output omit the Agent row when metadata is absent — that is display behavior, not permission to skip tagging. Platform and model without a session name still store and display an Agent row, and still warn that provenance is incomplete.
CLI flags
| Flag | Field | Commands |
|---|---|---|
--agent-platform <name> |
platform |
create, comment, update, comment update |
--agent-model <name> |
model |
create, comment, update, comment update |
--agent-name <name> |
name |
create, comment, update, comment update |
--agent-settings <json> |
settings |
create, comment, update, comment update |
update and comment update set agent only when the issue or comment is missing complete provenance (platform, model, and name). Complete metadata is not replaced. close does not accept agent flags.
On create and comment, incomplete provenance warns on stderr with a ready kbs update or kbs comment update command. Use --no-agent-provenance to silence the warning when tagging does not apply.
Environment variables
When a flag is omitted, Kanbus reads these environment variables (flags override env):
KANBUS_AGENT_PLATFORMKANBUS_AGENT_MODELKANBUS_AGENT_SETTINGS— JSON object stringKANBUS_AGENT_NAME
Empty or whitespace-only environment values are ignored. Platform and model must both be present or both absent.
Product and model names
Pass Title Case product and model names on the CLI (for example Cursor, Claude Code, Composer 2.5). Do not use a separate slug or identifier as the input convention.
Kanbus stores platform lowercased with spaces replaced by underscores (for example Claude Code becomes claude_code). model is stored as you provide it. After that normalization, platform must match ^[a-z0-9_-]{1,64}$ (a storage charset check, not a product allowlist).
Preferred products (examples, not a closed enum): Cursor, Codex, Claude Code, Antigravity, Grok Bot.
Model examples (not exhaustive): Composer 2.5, GPT-5.6, Claude Sonnet 4, Grok 4.
Settings
--agent-settings and KANBUS_AGENT_SETTINGS accept a JSON object string. Recommended keys:
temperature— model temperaturethinking_level— reasoning depth (for exampleoff,low,medium,high)max_output_tokens— positive integer output limit
Other non-secret keys are accepted (for example speed, reasoning_effort). Kanbus rejects keys whose names match api_key, token, secret, password, or credential (case-insensitive). Never store credentials in agent metadata.
The serialized agent block is limited to 2 KB.
JSON shape
When present:
{
"platform": "cursor",
"model": "Composer 2.5",
"name": "Cloud Agent",
"settings": {
"thinking_level": "high"
}
}
Omit the agent key entirely when absent. Omit settings when empty.
Beads compatibility
In Beads compatibility mode (--beads or beads_compatibility: true), agent flags and environment defaults that would produce metadata fail with:
agent metadata requires native Kanbus issue storage
Common errors
agent metadata requires both platform and modelinvalid agent platform— stored platform failed the charset check after lowercasing and spaces-to-underscores (^[a-z0-9_-]{1,64}$)invalid agent settings JSON: ...agent settings must not contain secret-like keysagent metadata requires native Kanbus issue storageagent metadata is already set
Maintainer setup for host instructions and environment defaults: Agent Provenance.
Comments
kanbus comment
Add a comment to an issue.
kanbus comment <id> <text> [options]
Options:
--agent-platform <name>Agent product name (Title Case; see Agent metadata)--agent-model <name>Model name (Title Case)--agent-name <name>Session or bot display name (required for complete provenance)--agent-settings <json>JSON object of runtime settings
When agent flags are omitted, KANBUS_AGENT_* environment variables apply.
Example:
kanbus comment kanbus-abc "Shipped fix" \
--agent-platform "Codex" --agent-model "GPT-5.6" --agent-name "Cloud Agent"
Synchronization
kanbus github dependabot pull
Pull Dependabot alerts from GitHub Security into Kanbus.
kanbus github dependabot pull [--dry-run] [--repo <owner/repo>] [--min-severity <critical|high|medium|low>] [--state <open|fixed|dismissed|auto_dismissed>] [--parent-epic <id>]
Requires GITHUB_TOKEN or GH_TOKEN.
Short alias: kanbus gh dependabot pull.
Migration
kanbus migrate
Migrate Beads issues into Kanbus.
kanbus migrate
kanbus migrate --into-existing
--into-existing imports Beads issues into an already initialized Kanbus
project and is safe to re-run.
Methodologies
kanbus methodology list
List the methodologies configured in .kanbus.yml, then the built-ins that are not active.
kanbus methodology list
Each line is <marker> <name> (<source>) <title>. * marks an active methodology and - a built-in that is not active. The source is built-in or bundle <folder>.
kanbus methodology show
Print a methodology's guidance, rendered with the project's template variables.
kanbus methodology show <name>
Works for configured methodologies and for built-ins that are not active. An unknown name fails with the built-in names.
kanbus methodology run
Run a tool that a configured methodology bundle declares.
kanbus methodology run <methodology> <tool> [args...]
The tool runs from the repository root with KANBUS_METHODOLOGY_DIRECTORY set to the bundle folder. Arguments pass through unchanged, and a non-zero exit fails the command. See Methodologies.
Diagnostics
kanbus doctor
Run environment diagnostics.
kanbus doctor
Output includes an AI credentials line, e.g. ai credentials: OPENAI_API_KEY from ~/.kanbus.env,
or ai credentials: OPENAI_API_KEY not set (run kbs setup ai) when no key is configured.
It also lists the active methodologies (methodologies: bdd, git-flow), fails when one cannot be loaded or rendered, and prints a warning when CONTRIBUTING_AGENT.md differs from what the configured methodologies generate.
kanbus --version
Show the Kanbus version.
kanbus --version
Wiki
kanbus wiki render
Render a wiki page with live interpolated data.
kanbus wiki render <page>
kanbus wiki render <page> --json
--jsonEmit JSON withpathandrenderedfields (warnings stay on stderr)
kanbus wiki list
List available wiki pages.
kanbus wiki list
kanbus wiki list --json
kanbus wiki list --limit 10
--jsonEmit JSON withcountandpagesfields--limit <n>Cap output to n pages after sorting (0 for no limit)
kanbus wiki search
Search wiki pages by path, title, and body.
kanbus wiki search <query>
kanbus wiki search <query> --json
kanbus wiki search <query> --limit 5
--jsonEmit JSON withquery,count, andpagesfields (zero matches:count0, not0 results)--limit <n>Cap output to n matches after sorting (0 for no limit)
Maintenance
kanbus validate
Validate project integrity.
kanbus validate
kanbus stats
Display project overview statistics.
kanbus stats
kanbus commit
Commit project/issues/ changes to git.
kanbus commit
Realtime Gossip + Overlay
kanbus gossip broker
Run a local UDS broker.
kanbus gossip broker [--socket <path>]
kanbus gossip watch
Watch gossip notifications and update the overlay cache.
kanbus gossip watch [--project <label>] [--transport auto|uds|mqtt] [--broker auto|off|mqtt://...|mqtts://...] [--autostart|--no-autostart] [--keepalive|--no-keepalive]
kanbus gossip watch [..] [--print]
kanbus overlay gc
Sweep overlay cache entries.
kanbus overlay gc [--project <label>] [--all]
kanbus overlay reconcile
Reconcile speculative overlay entries against canonical issue files and optionally prune converged fields.
kanbus overlay reconcile [--project <label>] [--all] [--prune] [--dry-run]
kanbus overlay install-hooks
Install git hooks to run overlay reconcile + GC after merges/checkouts.
kanbus overlay install-hooks
Complete command index
Every command and option accepted by the CLI, generated from the command definitions by tools/generate_cli_reference.py and checked in CI. The prose sections above explain behavior; this index is the exhaustive list. kbs accepts the same commands.
<!-- BEGIN GENERATED: command-index --> <!-- Generated by tools/generate_cli_reference.py; do not edit by hand. -->
kanbus bulk
Bulk issue operations.
kanbus bulk update
Update multiple issues selected by IDs and/or filters.
--idTEXT--where-typeTEXT--where-statusTEXT--set-statusTEXT--set-assigneeTEXT--no-validate
kanbus close
Close an issue.
IDENTIFIER(argument)--commentTEXT: Add a comment before closing.
kanbus comment
Add a comment to an issue.
[TOKENS]...(argument)--body-fileFILENAME--no-validate--agent-platformTEXT--agent-modelTEXT--agent-nameTEXT--agent-settingsTEXT--no-agent-provenance: Do not warn when agent provenance is incomplete. See CONTRIBUTING_AGENT.md.
kanbus commit
Commit board state (issues and events) to git.
kanbus console
Console-related utilities.
kanbus console close-detail
Deprecated console command.
kanbus console collapse
Deprecated console command.
COLUMN(argument)
kanbus console collapse-column
Deprecated console command.
COLUMN(argument)
kanbus console expand
Deprecated console command.
COLUMN(argument)
kanbus console expand-column
Deprecated console command.
COLUMN(argument)
kanbus console focus
Focus on an issue and its descendants in the console.
IDENTIFIER(argument)--commentTEXT: Comment ID to scroll to.
kanbus console get
Query a specific piece of console UI state.
kanbus console get focus
Print the currently focused issue ID, or 'none'.
kanbus console get search
Print the active search query, or 'none'.
kanbus console get view
Print the current view mode, or 'none'.
kanbus console maximize
Deprecated console command.
kanbus console now
Emit JSON issues for the Now panel with JIT right-now summaries.
kanbus console reload
Deprecated console command.
kanbus console restore
Deprecated console command.
kanbus console screenshot
Capture a PNG screenshot of the console board.
--output,-oTEXT: Output PNG path (default: kanbus-board.png in the current directory).--modeTEXT: Appearance mode for the board (light or dark). Defaults to light for reproducible captures. Default:light.--viewTEXT: Board type filter. Use all for every issue type (console ?type=all).--expand-all: Expand every collapsed status column before capture.--expandTEXT: Expand a status column before capture (repeatable).--collapseTEXT: Collapse a status column before capture (repeatable).
kanbus console search
Set or clear the search query in the console.
[QUERY](argument)--clear: Clear the active search query.
kanbus console select
Deprecated console command.
IDENTIFIER(argument)
kanbus console set-setting
Deprecated console command.
KEY(argument)VALUE(argument)
kanbus console snapshot
Emit a JSON snapshot for the console.
kanbus console standup
Emit a JSON standup report for the console API.
--request-jsonTEXT: Standup request JSON. When omitted, JSON is read from stdin.
kanbus console status
Print a human-readable summary of the current console UI state.
kanbus console toggle-settings
Deprecated console command.
kanbus console unfocus
Clear the current focus filter in the console.
kanbus console view
Switch the console to a different view mode.
{initiatives|epics|issues}(argument)
kanbus coordination
Manage soft coordination leases.
kanbus coordination claim
Record a durable soft claim and announce it over MQTT when available.
--resourceTEXT: Resource to claim.--ownerTEXT: Stable worker identifier.--claim-idTEXT: Unique claim identifier.--revisionINTEGER RANGE: Positive fencing revision for hard mutex providers. Default:1.
kanbus coordination inspect
Inspect a resource's derived soft coordination lease.
--resourceTEXT: Resource to inspect.
kanbus coordination publish-result
Publish an artifact reference only when its logical revision is current.
--resourceTEXT: Logical resource being published.--revisionINTEGER RANGE: Positive logical task revision.--artifactTEXT: Artifact reference to publish.
kanbus coordination release
Release the current soft lease and publish the visibility change.
--resourceTEXT: Resource to release.--ownerTEXT: Current lease owner.--claim-idTEXT: Current claim identifier.
kanbus coordination renew
Extend the current winning soft lease.
--resourceTEXT: Resource to renew.--ownerTEXT: Current lease owner.--claim-idTEXT: Current claim identifier.--extendTEXT: Duration to add to the current expiry (for example 120s).
kanbus cost
Report LLM usage costs.
--daysINTEGER: Number of days to aggregate over.
kanbus create
Create a new issue in the current project.
[TITLE]...(argument)--typeTEXT--priorityINTEGER--assigneeTEXT--parentTEXT--labelTEXT--descriptionTEXT--local--idTEXT: Explicitly specify the issue ID--focus: Deprecated. UI control commands are temporarily unavailable.--no-validate--agent-platformTEXT--agent-modelTEXT--agent-nameTEXT--agent-settingsTEXT--no-agent-provenance: Do not warn when agent provenance is incomplete. See CONTRIBUTING_AGENT.md.
kanbus daemon-status
Report daemon status.
kanbus daemon-stop
Stop the daemon process.
kanbus delete
Delete an issue and its event history.
IDENTIFIER(argument)--yes--recursive
kanbus dep
Manage issue dependencies.
[ARGS]...(argument)
kanbus doctor
Run environment diagnostics for Kanbus.
kanbus edit
File edit commands mirroring the Anthropic text editor tool.
kanbus edit create
Create a new file with the given content.
PATH(argument)--file-textTEXT
kanbus edit insert
Insert text after the given line number (0 = beginning).
PATH(argument)--insert-lineINTEGER--insert-textTEXT
kanbus edit str-replace
Replace exact text in file (must match exactly one location).
PATH(argument)--old-strTEXT--new-strTEXT
kanbus edit view
View file contents or list directory.
PATH(argument)--view-rangeINTEGER...: Start and end line numbers (1-indexed; -1 for end).
kanbus gh
Alias for GitHub security synchronization commands.
kanbus gh dependabot
Dependabot synchronization commands.
kanbus gh dependabot pull
Pull Dependabot alerts from GitHub into Kanbus.
--dry-run: Show what would be done without writing files.--repoTEXT: Override GitHub repository slug (owner/repo).--min-severityTEXT: Override minimum severity (critical, high, medium, low).--stateTEXT: Override Dependabot alert state filter.--parent-epicTEXT: Override parent epic issue ID to attach findings to.
kanbus github
GitHub security synchronization commands.
kanbus github dependabot
Dependabot synchronization commands.
kanbus github dependabot pull
Pull Dependabot alerts from GitHub into Kanbus.
--dry-run: Show what would be done without writing files.--repoTEXT: Override GitHub repository slug (owner/repo).--min-severityTEXT: Override minimum severity (critical, high, medium, low).--stateTEXT: Override Dependabot alert state filter.--parent-epicTEXT: Override parent epic issue ID to attach findings to.
kanbus gossip
Realtime gossip commands.
kanbus gossip broker
Run a local UDS gossip broker.
--socketPATH
kanbus gossip watch
Watch gossip notifications and update overlay cache.
--projectTEXT--transportTEXT--brokerTEXT--autostart,--no-autostart--keepalive,--no-keepalive--print,--no-print: Print each received envelope as JSON (NDJSON) to stdout.
kanbus hooks
Inspect and validate lifecycle hook configuration.
kanbus hooks list
List configured hooks and built-in providers.
kanbus hooks validate
Validate hook commands, IDs, and event bindings.
kanbus init
Initialize a Kanbus project in the current repository.
--local
kanbus jira
Jira synchronization commands.
kanbus jira pull
Pull issues from Jira into Kanbus.
--dry-run: Show what would be done without writing files.
kanbus lifecycle
Issue lifecycle management commands.
kanbus lifecycle compact
Batch compact (summarize) issues based on lifecycle policies.
--all: Process all eligible issues.--queryTEXT: Filter issues by query.--dry-run: Show which issues would be compacted without mutating.--archived-only: Only compact archived issues (closed > 30 days).--max-itemsINTEGER: Limit number of issues to compact.
kanbus list
List issues in the current project.
--statusTEXT--typeTEXT--assigneeTEXT--labelTEXT--parentTEXT--sortTEXT--searchTEXT--projectTEXT: Filter by project label.--no-local--local-only--limitINTEGER: Maximum issues to display (0 for no limit).--all: Show all issues (same as --limit 0).--porcelain: Plain, non-colorized output for machine parsing.--full-ids: Show full issue keys even in single-project context.
kanbus localize
Move a shared issue into project-local.
IDENTIFIER(argument)
kanbus methodology
Work with the methodologies configured in .kanbus.yml.
kanbus methodology list
List the configured methodologies, then the built-ins that are not active.
kanbus methodology run
Run a tool declared by a configured methodology bundle, from the repository root.
METHODOLOGY(argument)TOOL(argument)[ARGS]...(argument)
kanbus methodology show
Show the rendered guidance of a methodology.
METHODOLOGY(argument)
kanbus migrate
Migrate Beads issues into Kanbus, or write a project_id with project-id.
[project-id](argument)--into-existing: Import Beads issues into an already initialized project. Repeatable: re-runs and overwrites matching issue JSON files.
kanbus move
Move an issue to a different issue type.
IDENTIFIER(argument)ISSUE_TYPE(argument)--statusTEXT--no-validate
kanbus now
List recently-updated issues with right-now summaries.
[ISSUE_IDS]...(argument)--limitINTEGER--all--list--no-recursive--expanded--collapsed--raw--yaml--json--text--statusTEXT: Status filter. Default: in_progress. Use all for every status.--purge: Clear right_now_summary and right_now_updated_at across the board.
kanbus overlay
Overlay cache commands.
kanbus overlay gc
Sweep overlay cache entries.
--projectTEXT--all
kanbus overlay install-hooks
Install git hooks to run overlay gc after git operations.
kanbus overlay reconcile
Reconcile overlay cache entries against canonical issue files.
--projectTEXT--all--prune--dry-run
kanbus policy
Policy management commands.
kanbus policy check
Check policies against an issue.
IDENTIFIER(argument)
kanbus policy guide
Run policy guidance against an issue without enforcing blocks.
IDENTIFIER(argument)
kanbus policy list
List all loaded policy files.
kanbus policy steps
List available policy steps.
--categoryTEXT: Filter by category (given, when, then).--searchTEXT: Filter by search term.
kanbus policy validate
Validate all policy files for syntax errors.
kanbus promote
Promote a local issue to the shared project.
IDENTIFIER(argument)
kanbus ready
List issues that are ready (not blocked).
--no-local--local-only
kanbus rekey
Rename a project key and all issue IDs.
NEW_KEY(argument)--dry-run: Print planned changes without modifying files
kanbus repair
Repair a broken project structure.
--yes
kanbus router
Plan, run, and control the deterministic Issue Router.
kanbus router cancel
Request cancellation for an active package and preserve its checkpoint.
ISSUE_ID(argument)
kanbus router hold
Hold new starts for exactly one configured route.
--classTEXT--provider-profileTEXT
kanbus router pause
Pause new router starts and persist the control event.
kanbus router plan
Show which routed packages can start and why others are deferred.
--json: Print the stable JSON plan.
kanbus router recover
Surface an orphaned or paused agent run without losing its evidence.
ISSUE_ID(argument)--json: Print saved run metadata as JSON.
kanbus router resume
Resume scheduling without changing route holds.
kanbus router run
Run one package or continuously reconcile the project board.
--once: Run one scheduler pass.--watch: Keep reconciling until stopped.
kanbus router status
Show scheduler state, active package count, and sorted route holds.
kanbus router stop
Stop future scheduler starts after the current package finishes.
kanbus router unhold
Release a hold for exactly one configured route.
--classTEXT--provider-profileTEXT
kanbus setup
Setup utilities for Kanbus.
kanbus setup agents
Ensure AGENTS.md contains Kanbus instructions.
--force
kanbus setup ai
Store or inspect a user-level AI credential in ~/.kanbus.env.
--keyTEXT: API key value. Prefer the interactive prompt or --from-stdin so the key does not land in shell history.--from-stdin: Read the key from the first line of standard input.--variableTEXT: Environment variable name to store. Default:OPENAI_API_KEY.--status: Report where the key currently resolves from. Never prints the key.
kanbus setup env
Store or inspect any user-level Kanbus environment value in ~/.kanbus.env.
NAME(argument)--valueTEXT: Value to store. Prefer the interactive prompt or --from-stdin so the value does not land in shell history.--from-stdin: Read the value from the first line of standard input.--status: Report where the value currently resolves from. Never prints the value.
kanbus show
Show details for an issue.
IDENTIFIER(argument)--json--raw: Show raw issue data without summary interception
kanbus snyk
Snyk vulnerability synchronization commands.
kanbus snyk pull
Pull vulnerabilities from Snyk into Kanbus.
--dry-run: Show what would be done without writing files.--min-severityTEXT: Override minimum severity (critical, high, medium, low).--org-idTEXT: Override Snyk org ID.--parent-epicTEXT: Override parent epic issue ID to attach bugs to.
kanbus standup
Generate on-demand standup reports from right-now facts.
[ISSUE_IDS]...(argument)--profileTEXT: Standup profile: meeting-script or director-brief (default: meeting-script).--window[rolling|calendar]: Standup window mode: rolling or calendar.--lookbackTEXT: Rolling lookback duration (for example 24h or 1d).--skip-weekends--no-skip-weekends--json--no-recursive--rollup[flat|project|tree]: Today rollup: flat, project (multi-board default), or tree.
kanbus stats
Report project statistics.
kanbus summarize
Summarize an issue using AI.
IDENTIFIER(argument)--dry-run: Print the summary without saving to issue.
kanbus update
Update an existing issue.
IDENTIFIER(argument)--titleTEXT--descriptionTEXT--statusTEXT--priorityINTEGER--assigneeTEXT--parentTEXT--add-labelTEXT--remove-labelTEXT--set-labelsTEXT--claim--no-validate--agent-platformTEXT--agent-modelTEXT--agent-nameTEXT--agent-settingsTEXT
kanbus validate
Validate project integrity.
kanbus wiki
Manage wiki pages.
kanbus wiki check
Validate the wiki tree (alias for wiki lint).
kanbus wiki init
Create the wiki directory and a stub index page.
kanbus wiki lint
Validate wiki-internal markdown links across the wiki tree.
kanbus wiki list
List wiki pages.
--json--limitINTEGER: Maximum pages to display (0 for no limit).
kanbus wiki render
Render a wiki page.
PAGE(argument)--json--html
kanbus wiki search
Search wiki pages by path, title, and body.
QUERY(argument)--json--limitINTEGER: Maximum pages to display (0 for no limit).
kanbus wiki show
Show raw wiki page source without rendering templates.
PAGE(argument) <!-- END GENERATED: command-index -->