Skip to content

$ aidlc — CLI Reference

Generated from the shipped CLI (23 commands). Requires Node.js >= 22.13.0. Install with npx @rasensio/aidlc init.

Test traceability is configured via traceability.test_globs; the gate command parses tasks.md checkboxes [tasks] and reports done/total task completion at the implementation gate.

$ aidlc add [command]

Add framework components

$ aidlc add action <description>

Create a lifecycle action from a natural language description

Options for action
OptionDescription
--event <event>Override the inferred lifecycle event
--blockingMark the action as blocking (halts transition on failure)
--non-interactiveSkip confirmation prompts; fail if event cannot be inferred
--dry-runShow what would be added without writing

$ aidlc add skill [name]

Create an app-owned operational skill and package it per platform

Options for skill
OptionDescription
--description <text>One-line summary of the operation
--steps <text>The operation steps, as markdown
--trigger <text>When this skill should be used
--paths <paths...>Repo-relative paths the skill operates on
--overwriteReplace an existing skill of the same name
--re-emitRe-package existing skills; refreshes verification text
--checkSmoke-check existing skills without writing
--dry-runShow what would be written without writing
aidlc add skill publish-post --description "Publish a new MDX post" \ --steps "1. Create the file...2. Update the index..."
aidlc add skill --re-emitRe-package every operational skill
aidlc add skill publish-post --checkVerify one skill

$ aidlc amend <instance>

Record a requirements amendment and reopen the phases it invalidated

Options for amend
OptionDescription
--impactReport remaining citations of the retired criteria; write nothing
--amendment <n>Operate on this amendment instead of the highest-numbered one
--confirmConfirm a reopen from testing or later
--overrideWrite without a live claim (records `by` from the environment)
--jsonOutput as JSON

$ aidlc claim <instance>

Claim a lifecycle instance for this session (writes sessions.ndjson)

Options for claim
OptionDescription
--renewRenew an existing claim instead of taking a new one

$ aidlc compliance [command]

Compliance packs — install, check, and report evidence per control

$ aidlc compliance add <pack>

Install a compliance pack into this project

$ aidlc compliance check

Check a change against the installed packs’ controls

Options for check
OptionDescription
--diff <ref>Assess the diff against this git ref instead of the working tree
--enforceExit non-zero on a failing or unassessed control
--jsonOutput machine-readable JSON

$ aidlc compliance list

List available compliance packs and whether each is installed

Options for list
OptionDescription
--jsonOutput machine-readable JSON

$ aidlc compliance remove <pack>

Remove an installed compliance pack

$ aidlc compliance report

Evidence report: what each control requires and where the evidence is

Options for report
OptionDescription
--instance <name>Limit the report to one instance
--since <date>Limit the report to instances completed on or after this date
--jsonOutput machine-readable JSON

$ aidlc compliance upgrade <pack>

Upgrade an installed pack to the available version

$ aidlc constitution [command]

Import a product vision document and track the repo scope derived from it

$ aidlc constitution check

Report vision statements added or removed since the last import

Options for check
OptionDescription
--jsonOutput machine-readable JSON
--exit-codeExit 1 when drift is found (default: always exit 0)

$ aidlc constitution import <path>

Read a vision document (.docx, .md, .markdown, .txt) into a snapshot

Options for import
OptionDescription
--jsonOutput machine-readable JSON

$ aidlc continue [instance]

Resume the active lifecycle instance from the next incomplete step

Options for continue
OptionDescription
--jsonOutput as JSON

$ aidlc cost [command] [instance]

Per-instance cost tracking: reports, capture, rates, hooks

Options for cost
OptionDescription
--jsonStructured JSON output
--by-templateRoll up average cost per template
--unattributedList usage not attributed to any instance

$ aidlc cost context

Resident context for this session, against the budget

Options for context
OptionDescription
--jsonStructured JSON output

$ aidlc cost dedupe

Plan (or apply) the correction for usage counted once per content block

Options for dedupe
OptionDescription
--applyRewrite the ledgers — read-only without it
--jsonStructured JSON output

$ aidlc cost hooks [command]

Manage cost-capture hooks per platform

$ aidlc cost hooks install

Install cost-capture hooks

Options for install
OptionDescription
--platform <name>Limit to one platform (claude-code, kiro)

$ aidlc cost hooks remove

Remove cost-capture hooks

Options for remove
OptionDescription
--platform <name>Limit to one platform (claude-code, kiro)

$ aidlc cost hooks status

Status cost-capture hooks

Options for status
OptionDescription
--platform <name>Limit to one platform (claude-code, kiro)

$ aidlc cost providers [command]

Cost provider status

$ aidlc cost providers status

Show detection and metered-capture state per provider

$ aidlc cost rates [command]

Manage the usage→dollar rate table

$ aidlc cost rates show

Print the effective merged rate table

Options for show
OptionDescription
--normalizationPrint the model-id normalization rules

$ aidlc cost rates update

Fetch current rates from the configured source

$ aidlc cost record

Record usage (hook mode via stdin, or --manual)

Options for record
OptionDescription
--provider <name>Cost provider (claude-code, kiro)
--detachSpawn a background recorder and exit immediately
--session-endThe session has ended: drop its active-session stash entry
--manualManual entry mode (agent-driven fallback)
--instance <name>Target instance (manual mode)
--session <id>Session id, or "-" for none (manual mode)
--fidelity <f>estimated | unknown (manual mode)
--units <json>Units JSON (manual mode, estimated only)
--from <iso>Coverage start (manual mode)
--to <iso>Coverage end (manual mode)

$ aidlc cost session-start

Stash a platform session id (hook mode via stdin)

Options for session-start
OptionDescription
--provider <name>Platform name

$ aidlc cost sync [instance]

Reconcile historical platform records into ledgers

$ aidlc discover

Scan codebase, generate context documents, and seed the knowledge graph

Options for discover
OptionDescription
--jsonOutput full scan result as JSON
--no-knowledgeSkip seeding the knowledge graph
--forceOverwrite hand-edited context docs as well as generated ones

$ aidlc docs

Generate onboarding documentation (.aidlc/ONBOARDING.md)

$ aidlc doctor

Check and repair repo hygiene (gitignore coverage, stale ephemera, tracked cost

Options for doctor
OptionDescription
--dry-runList pending migrations without applying anything
--yesApply index-mutating migrations without prompting
aidlc doctorApply safe migrations; confirm before index changes
aidlc doctor --dry-runPreview what would change
aidlc doctor --yesAlso apply index changes without prompting (CI)
0everything healthy or applied
1confirm-tier work remains pending (declined, non-interactive, or blocked by staged changes) or a migration failed

$ aidlc gate <instance> [phase]

CI/CD gate check — exits 0 if phase is complete

Options for gate
OptionDescription
--jsonOutput structured JSON (GateCheckResult)

$ aidlc init

Set up AIDLC: configure the project and install platform skills

Options for init
OptionDescription
--platform <name>Install skills for a single platform without prompts (claude-code, codex, copilot, cursor, kiro, windsurf)
--non-interactiveSkip prompts, use defaults or existing config
--dry-runPrint what would be written without making changes
--no-cost-hooksSkip installing cost-capture hooks

$ aidlc knowledge [command]

Local knowledge graph — persistent codebase memory for agents

$ aidlc knowledge add

Add an entity (via flags, or stdin YAML with --stdin)

Options for add
OptionDescription
--id <id>Entity id (lowercase slug)
--type <type>Entity type (module, service, decision, … or custom:<name>)
--name <name>Human-readable name
--description <text>Free-text description
--confidence <n>Confidence 0.0–1.0
--source <path>Source file path or "agent-inferred"
--tags <tags>Comma-separated tags
--stdinRead one or more entity YAML documents from stdin

$ aidlc knowledge compact

Deduplicate and normalize YAML source files (rewrites files)

$ aidlc knowledge context

Generate a markdown context summary for agent prompts

Options for context
OptionDescription
--scope <scope>full | phase <name> | file <path> (default: "full")
--phase <name>Lifecycle phase (with --scope phase)
--file <path>File path (with --scope file)
--max-tokens <n>Token budget (default: 2000)
--include-staleInclude low-confidence entities

$ aidlc knowledge get <id>

Get a single entity with all its relationships

Options for get
OptionDescription
--format <fmt>Output format: yaml or json (default: "yaml")

$ aidlc knowledge graph <id>

Subgraph of entities within N hops

Options for graph
OptionDescription
--depth <n>Traversal depth (default: 1)
--format <fmt>Output format: yaml or json (default: "yaml")

$ aidlc knowledge import <file>

Bulk import entities and relationships from a YAML file

$ aidlc knowledge install-merge-driver

Install the git merge driver for knowledge YAML files (writes git config)

Options for install-merge-driver
OptionDescription
--yesSkip the confirmation prompt (CI)

$ aidlc knowledge query <term>

Full-text search across the graph

Options for query
OptionDescription
--type <type>Filter by entity type
--min-confidence <n>Minimum confidence
--limit <n>Maximum results (default: 20)
--format <fmt>Output format: yaml or json (default: "yaml")

$ aidlc knowledge rebuild

Rebuild the SQLite index from YAML sources

$ aidlc knowledge relate

Create a relationship between two existing entities

Options for relate
OptionDescription
--from <id>Source entity id
--to <id>Target entity id
--type <type>Relationship type (depends-on, uses, … or custom:<name>)

$ aidlc knowledge stale

List entities that may no longer reflect the code

Options for stale
OptionDescription
--days <n>Age threshold in days (default: 30)
--check-gitAlso degrade confidence of entities whose source files changed
--format <fmt>Output format: yaml or json (default: "yaml")

$ aidlc knowledge sync

After git pull: rebuild the index and report suspicious merges

Options for sync
OptionDescription
--format <fmt>Output format: yaml or json (default: "yaml")

$ aidlc knowledge update <id>

Update fields on an existing entity

Options for update
OptionDescription
--description <text>New description
--confidence <n>New confidence 0.0–1.0
--tags <tags>Comma-separated tags (replaces existing)
--name <name>New name

$ aidlc knowledge verify <id>

Confirm an entity is still accurate (bumps lastVerified and confidence)

Interactive menu of common commands (also: run `aidlc` with no arguments)

$ aidlc metrics

DORA-style metrics: change failure rate, lead times, true cost

Options for metrics
OptionDescription
--jsonOutput machine-readable JSON

$ aidlc release <instance>

Release a claimed instance (writes sessions.ndjson)

$ aidlc review <instance> <artifact>

Run an adversarial review of a lifecycle artifact, recording structured findings

Options for review
OptionDescription
--jsonOutput findings as structured JSON

$ aidlc roadmap [command]

Project the roadmap onto GitHub Issues, or import an issue

$ aidlc roadmap import <issue-url>

Seed one inbox roadmap item from a GitHub issue (one-shot)

$ aidlc roadmap sync

Project eligible roadmap items onto GitHub Issues (one-way)

Options for sync
OptionDescription
--dry-runPrint the plan and write nothing
--yesApply the plan without asking
--repo <owner/name>Target repository (overrides roadmap.sync.repo)
--retire-ineligibleClose issues whose item has left a projected status

$ aidlc start [template]

Begin a new lifecycle instance

Options for start
OptionDescription
--name <instance-name>Instance name (URL-safe)
--scope <scope>Cycle scope (full, standard, micro)
--non-interactiveDisable interactive prompts (for AI agents)
--worktreeCreate the instance in a new git worktree (branch based on main)
--no-codeStart without a branch; implementation entry stays blocked until one exists

$ aidlc status

Show progress across active lifecycle instances

Options for status
OptionDescription
--jsonOutput in JSON format for machine consumption
--allInclude instances from all local branches
--pruneRemove stale registry entries and orphaned claims (explicit cleanup)

$ aidlc templates [command]

Workflow templates — their phases and the artifacts each phase requires

$ aidlc templates list

List available templates

Options for list
OptionDescription
--jsonOutput as JSON

$ aidlc templates show <name>

Show a template's phases and their required artifacts

Options for show
OptionDescription
--scope <scope>Restrict to the phases this scope runs (full, standard, micro)
--jsonOutput as JSON

$ aidlc transition <instance>

Evaluate gates and advance to the next phase

Options for transition
OptionDescription
--overrideOverride ownership gate
--jsonOutput result as JSON

$ aidlc update

Update the AIDLC CLI and refresh project skills

Options for update
OptionDescription
--self-onlyOnly update the CLI globally, skip project file refresh
--project-onlyOnly refresh project files from the currently installed CLI
--rediscoverAlso regenerate context docs in .aidlc/context/
--dry-runShow what would change without writing anything
aidlc updateUpdate CLI + refresh project skills
aidlc update --self-onlyJust update the global CLI package
aidlc update --project-onlyJust refresh .kiro/skills/ from current CLI
aidlc update --rediscoverAlso regenerate .aidlc/context/ docs
aidlc update --dry-runPreview changes without applying them
1. Detects your package manager (npm, pnpm, yarn, bun)
2. Checks the npm registry for a newer version
3. Updates the CLI if a newer version is available
4. Re-runs the install plan for each configured platform to refresh skill shims and steering files
5. Skips .aidlc/context/ docs unless --rediscover is passed (context docs may have been manually edited)