Global options (every command): --root <path> · --config <path> ·
--json · --quiet · --no-color · --verbose · --debug · --strict.
Exit codes: see docs/reference/exit-codes.md.
| Command | Purpose |
|---|---|
ackit |
deterministic quick health summary; --json pure stdout |
ackit init [--agents all|list] [--dry-run] |
instruction shims + builtin skills plan/write |
ackit sync [--dry-run] [--check] [--force] |
reconcile ACKit-owned managed assets (instructions + skills) after upgrades; content-driven, never version-driven (released in 0.4.0) |
ackit scan [options] |
security/hygiene scan |
ackit optimize [--fix] [--dry-run] |
hygiene advisor; fix fenced to managed surfaces |
ackit pack [--max-tokens n] [--format md|json] [--include globs] [--changed] [--task id] [--resume] |
budgeted context pack; task-aware ranking + resume section |
ackit instructions [--provider id] [--for path] |
instruction graph tree/JSON + effective chain |
ackit skills list|validate|install|sync|doctor|discover|scaffold |
open-standard skills management |
ackit skills export --provider claude|copilot|generic --out <dir> [--force] |
provider projections of canonical skills |
ackit task create <title> [--depends-on ids] [--intent id] [--spec paths] [--decision paths] [--plan path] |
docs-first tasks with artifact references |
ackit task list|start|complete [--force]|archive|doctor|show |
task lifecycle (completion gate: evidence, verdict, stage, drift for workflow tasks) |
ackit task archive <id> | archive --completed [--dry-run] |
archive completed tasks (active/ → archive/); bulk mode moves parsed-completed only — pending/active/blocked never move |
ackit task resume <id> |
print the deterministic resume context of the latest checkpoint |
ackit workflow set <id> [--profile quick|standard|high-risk] |
explicit workflow profile selection (defaults to configured workflow.defaultProfile) |
ackit workflow show [id] | advance <id> [--to stage] | verify <id> --outcome pass|fail |
stage machine + verify/fix-loop state |
ackit intent new <title> | list | show <id> | validate [id] | fingerprint <id> |
intent artifacts (docs/intent/) |
ackit checkpoint create <id> --next-objective text [--next-path p] [--next-command c] [--next-expected e] |
record a checkpoint with the exact next action |
ackit checkpoint show <id> [cpId] | validate <id> | export <id> [--out file] [--format md|json] | import <file> |
checkpoint inspection, staleness validation, handoff pack (md = v1) / verification-bound portable handoff (json = ackit.handoff.v2), read-only handoff import (ackit checkpoint import <file>) with stale refusal |
ackit evidence sync <id> | show <id> | verify <id> --criterion AC-n --type t --ref text | validate <id> |
evidence contract (criteria linked to typed proof) |
ackit verification bundle <id> [--out file] [--diff] [--format md|json] |
deterministic state-bound bundle (v2) for a fresh independent verifier (keep review artifacts under .ackit/ so exporting/authoring them never stales the proof) |
ackit verification record <id> --verdict <file> [--bundle bundle.json] | show <id> |
append-only state-bound verdict registration + inspection (fresh-context verdicts REQUIRE --bundle proof — VERDICT-INDEPENDENCE-UNPROVEN otherwise; stale bundles VERDICT-BUNDLE-MISMATCH; replayed content VERDICT-REPLAY-REJECTED; show --json reports independent/independenceCode) |
ackit status [id] |
canonical read-only status: task/stage, verbatim completion blockers, verification + checkpoint staleness, derived next actions (human + stable ackit.status.v1 JSON; defaults to the single active task; never mutates) |
ackit drift check <id> [--ci] | drift check-active [--ci] |
deterministic workflow drift findings; gate the active workflow task |
ackit role list | show <role> | validate |
portable role contracts (ackit.role.v1) |
ackit journal show [--limit n] [--task id] | validate |
local sanitized execution journal |
ackit policy check |
resolve effective offline policy (chain+digest+autonomy+review) |
ackit config check |
validate ackit.yml |
ackit cache clean |
remove ONLY .ackit/cache |
ackit workspaces |
detect monorepo layout |
ackit hooks install|uninstall|status |
managed pre-commit block (scan + active-task drift gate) |
ackit report serve <file> [--host] [--port] [--allow-nonlocal] |
loopback report UI |
ackit mcp serve |
MCP server over stdio (official SDK; read-only tools) |
After final completion evidence is recorded, archive completed task docs —
do not leave completed work in docs/tasks/active at final closure.
docs/tasks/active holds only pending/active/blocked work;
docs/tasks/archive holds completed work only. ackit task doctor reports
TASK-COMPLETED-IN-ACTIVE for any completed doc still under active/.
Release tasks may remain active only until post-publish evidence is recorded,
then must be archived in that same final bookkeeping change. Task lookups
are id-based and resolve both locations, so archiving never breaks
show, dependency, evidence, or verdict resolution.
--dry-run preview the reconciliation plan without writing (would-* statuses)
--check read-only CI gate: exit 1 when anything is out-of-sync or blocked
--force discard local edits on OWNED skills (third-party names still refused)
Sync reconciles only ACKit-owned managed assets: the AGENTS.md managed
block, the CLAUDE.md / GEMINI.md / .github/copilot-instructions.md
shims, and builtin skills. Write decisions are content-driven — upgrading
the npm package alone never rewrites files. Statuses: up-to-date,
would-create, would-update-managed, updated-managed, installed,
updated, conflict-user-modified, refused-non-managed,
refused-third-party.
--ci gate mode (exit 1 at/over threshold or vs baseline)
--format fmt terminal|json|sarif|markdown|html
--output file write report instead of stdout
--changed --staged git incremental candidate sets
--since ref --range a..b commit-range sets (merge-base)
--baseline file compare: fail on new findings
--write-baseline file persist structural baseline (no evidence stored)
--watch re-scan on changes until Ctrl+C
Machine-readable stdout is always pure JSON in the respective modes; diagnostics go to stderr.