CLI Commands
LumenFlow provides a curated public CLI surface for everyday workflows.
Commands Overview
Section titled “Commands Overview”Gates & Quality
Section titled “Gates & Quality”gate:co-change
Section titled “gate:co-change”Manage co-change gate rules (add, remove, edit, list)
Run all quality gates
lane:create
Section titled “lane:create”Create a new lane definition
lane:edit
Section titled “lane:edit”Edit a lane definition (rename, wip-limit, paths, description)
lane:health
Section titled “lane:health”Check lane config health
lane:lock
Section titled “lane:lock”Lock lane lifecycle for delivery WUs
lane:setup
Section titled “lane:setup”Create/update draft lane artifacts
lane:status
Section titled “lane:status”Show lane lifecycle status and next step
lane:suggest
Section titled “lane:suggest”Suggest workspace lane definitions from project context
lane:validate
Section titled “lane:validate”Validate lane artifacts before lock
lumenflow:pre-commit-check
Section titled “lumenflow:pre-commit-check”Run enforcement checks used by pre-commit and CI
validate
Section titled “validate”Run validation checks
Initiatives
Section titled “Initiatives”initiative:add-wu
Section titled “initiative:add-wu”Add WU to initiative
Options:
| Flag | Description | Required |
|---|---|---|
--initiative <ref> | Parent initiative (INIT-XXX or slug) | Yes |
initiative:bulk-assign
Section titled “initiative:bulk-assign”Bulk assign WUs to initiative
Options:
| Flag | Description | Required |
|---|---|---|
--config <path> | Path to config file (tool-specific) | No |
--apply | Apply changes (default is dry-run) | No |
--sync-from-initiative | Ensure WU initiative fields exist for WUs listed in initiatives | No |
initiative:create
Section titled “initiative:create”Create new initiative
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No |
-s, --slug <slug> | Initiative slug (kebab-case) | Yes |
-t, --title <title> | Work Unit title | Yes |
-p, --priority <priority> | Priority level (P0, P1, P2, P3) | No |
-o, --owner <owner> | Initiative owner (team or individual) | No |
--target-date <date> | Target completion date (YYYY-MM-DD) | No |
initiative:edit
Section titled “initiative:edit”Edit initiative fields and phase metadata
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <initId> | Initiative ID (e.g., INIT-001) | No |
--blocked-by <initId> | Initiative ID that blocks this initiative | No |
--blocked-reason <text> | Reason for blocking (required with —blocked-by) | No |
--unblock | Remove blocked_by and blocked_reason fields | No |
--add-lane <lane> | Lane to add (repeatable) | No |
--remove-lane <lane> | Lane to remove (repeatable) | No |
--notes <text> | Note to append to notes array | No |
--description <text> | Replace the initiative description field | No |
--add-phase <title> | Append a new phase with auto-incremented id and pending status (repeatable) | No |
--add-success-metric <text> | Append to success_metrics array, avoiding duplicates (repeatable) | No |
--remove-success-metric <text> | Remove exact match from success_metrics array (repeatable) | No |
--phase-id <id> | Phase ID to update (use with —phase-status) | No |
--phase-title <title> | Update phase title (use with —phase-id) | No |
--created <date> | Set created date (YYYY-MM-DD format) | No |
--phase-execution-order <order> | Phase execution order (sequential, parallel) | No |
--dependency-model <model> | Dependency model for the initiative | No |
initiative:list
Section titled “initiative:list”List all initiatives
Options:
| Flag | Description | Required |
|---|---|---|
--format <format> | Output format (table, json, ascii, mermaid) | No |
--status <status> | Filter by status | No |
--color | Enable colored output | No |
initiative:plan
Section titled “initiative:plan”Link plan to initiative
Options:
| Flag | Description | Required |
|---|---|---|
--initiative <ref> | Parent initiative (INIT-XXX or slug) | Yes |
initiative:remove-wu
Section titled “initiative:remove-wu”Remove WU from initiative
Options:
| Flag | Description | Required |
|---|---|---|
--initiative <ref> | Parent initiative (INIT-XXX or slug) | Yes |
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | Yes |
initiative:status
Section titled “initiative:status”Show initiative status
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No |
--format <format> | Output format (table, json, ascii, mermaid) | No |
--color | Enable colored output | No |
Memory & Sessions
Section titled “Memory & Sessions”mem:checkpoint
Section titled “mem:checkpoint”Save progress checkpoint
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | No |
-n, --note <text> | Checkpoint note (required if not positional) | No |
-s, --session <id> | Session ID to link checkpoint to (UUID) | No |
-p, --progress <text> | Progress summary | No |
--next-steps <text> | Next steps description | No |
-t, --trigger <type> | Handoff trigger type (e.g., clear, handoff) | No |
--git-diff-stat <text> | Git diff —stat output to include in checkpoint metadata (WU-2157) | No |
-d, --base-dir <path> | Base directory (defaults to current directory) | No |
-q, --quiet | Suppress output except errors | No |
mem:cleanup
Section titled “mem:cleanup”Clean up stale memory data
Options:
| Flag | Description | Required |
|---|---|---|
--dry-run | Preview cleanup without making changes | No |
--ttl <duration> | Remove nodes older than duration (e.g., 30d, 7d, 24h). Active sessions are protected. | No |
--session-id <uuid> | Session ID to consider closed (removes session lifecycle nodes) | No |
--json | Output as JSON | No |
-q, --quiet | Suppress output except errors | No |
-b, --base-dir <path> | Base directory (defaults to current directory) | No |
--decay | Run decay-based archival (archive stale nodes below threshold). Uses config from workspace.yaml software_delivery or defaults. | No |
mem:context
Section titled “mem:context”Get context for current lane/WU
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | Yes |
-m, --max-size <bytes> | Maximum context size in bytes (default: 4096) | No |
--delegation-context-max-size <bytes> | Alias for —max-size (for config parity with delegation_context_max_size) | No |
-l, --lane <lane> | Filter project memories by lane (e.g., “Framework: CLI”) | No |
--max-recent-summaries <count> | Maximum number of recent summaries to include (default: 5) | No |
--max-project-nodes <count> | Maximum number of project nodes to include (default: 10) | No |
-f, --format <format> | Output format: json or human (default: human) | No |
-d, --base-dir <path> | Base directory (defaults to current directory) | No |
-q, --quiet | Suppress header/footer output, only show context block | No |
mem:create
Section titled “mem:create”Create memory node (bug discovery)
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | No |
-t, --title <text> | Node title/content (required if not positional) | No |
-d, --discovered-from <id> | Parent node ID for provenance tracking (mem-XXXX format) | No |
-s, --session <id> | Session ID to link node to (UUID) | No |
--tags <tags> | Comma-separated tags for categorization | No |
-p, --priority <level> | Priority level (P0, P1, P2, P3) | No |
-b, --base-dir <path> | Base directory (defaults to current directory) | No |
-q, --quiet | Suppress output except errors | No |
mem:delete
Section titled “mem:delete”Delete/archive a memory node
Options:
| Flag | Description | Required |
|---|---|---|
--dry-run | Preview deletion without making changes | No |
--tag <tag> | Delete all nodes matching this tag | No |
--older-than <duration> | Delete nodes older than duration (e.g., 30d, 7d, 24h, 2w) | No |
--json | Output as JSON | No |
-q, --quiet | Suppress output except errors | No |
-b, --base-dir <path> | Base directory (defaults to current directory) | No |
mem:export
Section titled “mem:export”Export memory as markdown
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | No |
-l, --lifecycle <lifecycle> | Filter by lifecycle (ephemeral, session, wu, project) | No |
-f, --format <format> | Output format (markdown, json). Default: markdown | No |
-d, --base-dir <path> | Base directory (defaults to current directory) | No |
-q, --quiet | Suppress header/footer output | No |
mem:inbox
Section titled “mem:inbox”Check coordination signals
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | No |
-l, --lane <lane> | Lane name (e.g., “Operations: Tooling”) | No |
-s, --since <time> | Filter signals since time (e.g., “1h”, “30m”, “2025-12-09”) | No |
-w, --watch | Continuously monitor for new signals | No |
-q, --quiet | Suppress output except signal content | No |
--no-mark | Do not mark signals as read after display | No |
-c, --count | Output only signal count (lightweight polling for orchestrators) | No |
mem:init
Section titled “mem:init”Initialize memory for WU
Options:
| Flag | Description | Required |
|---|---|---|
-d, --base-dir <path> | Base directory to initialize (defaults to current directory) | No |
-q, --quiet | Suppress output except errors | No |
mem:ready
Section titled “mem:ready”Check pending memory nodes
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | Yes |
-f, --format <format> | Output format (json, human). Default: human | No |
-d, --base-dir <path> | Base directory (defaults to current directory) | No |
-q, --quiet | Suppress header/footer output, only show nodes | No |
mem:recover
Section titled “mem:recover”Generate recovery context after compaction
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | Yes |
-m, --max-size <bytes> | Maximum output size in bytes (default: 2048) | No |
-f, --format <format> | Output format: json or human (default: human) | No |
-d, --base-dir <path> | Base directory (defaults to current directory) | No |
-q, --quiet | Suppress header/footer output, only show recovery context | No |
mem:signal
Section titled “mem:signal”Broadcast coordination signal
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | No |
-l, --lane <lane> | Lane name (e.g., “Operations: Tooling”) | No |
-m, --message <text> | Signal message (required if not positional) | No |
-q, --quiet | Suppress output except errors (outputs signal ID only) | No |
mem:start
Section titled “mem:start”Start a memory session
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | Yes |
-a, --agent-type <type> | Agent type (e.g., general-purpose, explore, test-engineer) | No |
-c, --context-tier <tier> | Context tier (core, full, minimal) | No |
-d, --base-dir <path> | Base directory (defaults to current directory) | No |
-q, --quiet | Suppress output except errors | No |
mem:summarize
Section titled “mem:summarize”Summarize memory context
Options:
| Flag | Description | Required |
|---|---|---|
--wu <id> | WU ID to summarize (e.g., WU-1234) | Yes |
--dry-run | Preview summary without making changes | No |
--json | Output as JSON | No |
-q, --quiet | Suppress output except errors | No |
-b, --base-dir <path> | Base directory (defaults to current directory) | No |
mem:triage
Section titled “mem:triage”Triage discovered bugs
Options:
| Flag | Description | Required |
|---|---|---|
-l, --list | List open discoveries (default action) | No |
-p, --promote <nodeId> | Promote discovery to WU (mem-XXXX format) | No |
-a, --archive <nodeId> | Archive discovery without promotion (mem-XXXX format) | No |
-r, --reason <text> | Reason for archiving (required with —archive) | No |
--title <text> | Custom title for promoted WU (optional) | No |
--lane <lane> | Lane for promoted WU (required with —promote) | No |
--wu-id <id> | Explicit WU ID for promotion (optional) | No |
--wu <id> | Filter discoveries by WU ID (or “unlinked”) | No |
--tag <tag> | Filter discoveries by tag | No |
--dry-run | Preview promotion without creating WU | No |
--json | Output as JSON | No |
-q, --quiet | Suppress output except errors | No |
signal:cleanup
Section titled “signal:cleanup”Clean up stale signals
Options:
| Flag | Description | Required |
|---|---|---|
--dry-run | Preview cleanup without making changes | No |
--ttl <duration> | TTL for read signals (e.g., 7d, 24h). Default: 7d | No |
--unread-ttl <duration> | TTL for unread signals (e.g., 30d). Default: 30d | No |
--max-entries <count> | Maximum signals to retain. Default: 500 | No |
--json | Output as JSON | No |
-q, --quiet | Suppress output except errors | No |
-b, --base-dir <path> | Base directory (defaults to current directory) | No |
Metrics & Flow
Section titled “Metrics & Flow”cost:summary
Section titled “cost:summary”Summarize local cost telemetry
flow:bottlenecks
Section titled “flow:bottlenecks”Identify flow bottlenecks
flow:report
Section titled “flow:report”Generate flow metrics report
metrics
Section titled “metrics”View workflow metrics
metrics:snapshot
Section titled “metrics:snapshot”Capture metrics snapshot
Orchestration
Section titled “Orchestration”agent:issues-query
Section titled “agent:issues-query”Query GitHub issues for agent work
agent:log-issue
Section titled “agent:log-issue”Log issue during agent session
Options:
| Flag | Description | Required |
|---|---|---|
--category <cat> | Issue category (workflow|tooling|confusion|violation|error) | Yes |
--severity <sev> | Severity level (blocker|major|minor|info) | Yes |
--title <title> | Short description (5-100 chars) | Yes |
--description <desc> | Detailed context (10-2000 chars) | Yes |
--resolution <res> | How the issue was resolved | No |
--tag <tag> | Tag for categorization (repeatable) | No |
--step <step> | Current workflow step (e.g., wu:done, gates) | No |
--file <file> | Related file path (repeatable) | No |
agent:session
Section titled “agent:session”Start agent session
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | WU ID to work on (e.g., WU-1234) | Yes |
--tier <tier> | Context tier (1, 2, or 3) | Yes |
--agent-type <type> | Agent type (default: claude-code) | No |
agent:session-end
Section titled “agent:session-end”End agent session
delegation:list
Section titled “delegation:list”List active delegation records
Options:
| Flag | Description | Required |
|---|---|---|
--wu <wuId> | Work Unit ID to link (e.g., WU-123) | No |
--initiative <initId> | Initiative ID to show all delegations for (e.g., INIT-001) | No |
--json | Output as JSON | No |
orchestrate:init-status
Section titled “orchestrate:init-status”Compact initiative progress view
orchestrate:initiative
Section titled “orchestrate:initiative”Orchestrate initiative execution
orchestrate:monitor
Section titled “orchestrate:monitor”Monitor spawn/agent activity
task:claim
Section titled “task:claim”Claim a task directly through KernelRuntime
pack:author
Section titled “pack:author”Author a secure domain pack from templates
Options:
| Flag | Description | Required |
|---|---|---|
-f, --force | Force operation | No |
--spec-file <path> | Path to YAML/JSON request file for non-interactive generation | No |
--skip-validate | Skip post-generation pack validation | No |
pack:hash
Section titled “pack:hash”Compute integrity hash for a domain pack
Options:
| Flag | Description | Required |
|---|---|---|
-f, --force | Force operation | No |
--pack-root <dir> | Direct path to pack directory (overrides —id and —packs-root) | No |
pack:install
Section titled “pack:install”Install a domain pack into workspace
Options:
| Flag | Description | Required |
|---|---|---|
-f, --force | Force operation | No |
--source <source> | Pack source: local, git, or registry | Yes |
--version <version> | Pack version in semver format | Yes |
--url <url> | Git repository URL (required for source: git) | No |
--registry-url <url> | Registry base URL (for source: registry) | No |
--pack-root <dir> | Direct path to resolved pack directory on disk (overrides default resolution) | No |
--integrity <hash> | Expected SHA-256 integrity hash in “sha256:<hex>” format (optional) | No |
pack:publish
Section titled “pack:publish”Publish a domain pack to a registry
Options:
| Flag | Description | Required |
|---|---|---|
-f, --force | Force operation | No |
--pack-root <dir> | Direct path to pack directory (overrides —id and —packs-root) | No |
pack:scaffold
Section titled “pack:scaffold”Scaffold a new domain pack
Options:
| Flag | Description | Required |
|---|---|---|
-f, --force | Force operation | No |
--version <version> | Pack version in semver format (e.g., “0.1.0”) | Yes |
--task-type <type> | Task type name (repeatable) | No |
--tool <name> | Tool name to scaffold (repeatable) | No |
pack:search
Section titled “pack:search”Search for domain packs in a registry
Options:
| Flag | Description | Required |
|---|---|---|
--query <query> | Search query string | No |
pack:validate
Section titled “pack:validate”Validate a domain pack for integrity
Options:
| Flag | Description | Required |
|---|---|---|
-f, --force | Force operation | No |
--pack-root <dir> | Direct path to pack directory (overrides —id and —packs-root) | No |
plan:create
Section titled “plan:create”Create a new plan
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
-t, --title <title> | Work Unit title | Yes |
plan:edit
Section titled “plan:edit”Edit plan content
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
plan:link
Section titled “plan:link”Link plan to WU or initiative
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
plan:promote
Section titled “plan:promote”Promote plan to WU
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
Setup & Development
Section titled “Setup & Development”backlog:prune
Section titled “backlog:prune”Clean stale backlog entries
cloud:connect
Section titled “cloud:connect”Connect workspace.yaml to cloud control plane
config:get
Section titled “config:get”Read and display a value from workspace.yaml software_delivery
config:set
Section titled “config:set”Safely update workspace.yaml software_delivery via micro-worktree
file:delete
Section titled “file:delete”Delete file with audit trail
file:edit
Section titled “file:edit”Edit file with audit trail
file:read
Section titled “file:read”Read file with audit trail
file:write
Section titled “file:write”Write file with audit trail
git:branch
Section titled “git:branch”Show git branch with audit trail
git:diff
Section titled “git:diff”Show git diff with audit trail
git:log
Section titled “git:log”Show git log with audit trail
git:status
Section titled “git:status”Show git status with audit trail
lumenflow
Section titled “lumenflow”Initialize LumenFlow in a project
lumenflow:commands
Section titled “lumenflow:commands”List all available CLI commands
lumenflow:docs-sync
Section titled “lumenflow:docs-sync”Refresh core docs, onboarding docs, and supported vendor assets
lumenflow:doctor
Section titled “lumenflow:doctor”Diagnose LumenFlow configuration
lumenflow:integrate
Section titled “lumenflow:integrate”Generate enforcement hooks for client
lumenflow:release
Section titled “lumenflow:release”Run release workflow
lumenflow:sync-templates
Section titled “lumenflow:sync-templates”Sync templates to project
lumenflow:upgrade
Section titled “lumenflow:upgrade”Upgrade LumenFlow packages
State Management
Section titled “State Management”state:bootstrap
Section titled “state:bootstrap”Bootstrap state store
state:cleanup
Section titled “state:cleanup”Clean up stale state data
Options:
| Flag | Description | Required |
|---|---|---|
--dry-run | Preview cleanup without making changes | No |
--signals-only | Only execute signal cleanup | No |
--memory-only | Only execute memory cleanup | No |
--events-only | Only execute event archival | No |
--json | Output as JSON | No |
-q, --quiet | Suppress output except errors and summary | No |
-b, --base-dir <path> | Base directory (defaults to current directory) | No |
state:doctor
Section titled “state:doctor”Diagnose state store issues
Options:
| Flag | Description | Required |
|---|---|---|
--fix | Auto-repair safe issues | No |
--dry-run | Preview repairs without making changes | No |
--json | Output as JSON | No |
-q, --quiet | Suppress output except errors and summary | No |
-b, --base-dir <path> | Base directory (defaults to current directory) | No |
state:emit
Section titled “state:emit”Emit corrective event to state store (WU-2241)
WU Lifecycle
Section titled “WU Lifecycle”approval:list
Section titled “approval:list”List control-plane approvals with optional filters
approval:request
Section titled “approval:request”Request control-plane approval for a workflow action
approval:review
Section titled “approval:review”Resolve a control-plane approval decision
wu:block
Section titled “wu:block”Block WU with reason
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
-r, --reason <reason> | Reason for action (required with —skip-gates, —override-owner) | No |
-w, --worktree <path> | Override worktree path | No |
--remove-worktree | Remove worktree when blocking | No |
--no-auto | Skip auto-updating YAML/backlog/status | No |
--override-owner | Override ownership check (requires —reason) | No |
wu:brief
Section titled “wu:brief”Generate handoff prompt for sub-agent WU execution
wu:claim
Section titled “wu:claim”Claim WU and create worktree
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
-l, --lane <lane> | Lane name (e.g., “Operations: Tooling”) | Yes |
-w, --worktree <path> | Override worktree path | No |
-b, --branch <branch> | Override branch name | No |
--branch-only | Use branch-only mode (no worktree) | No |
--pr-mode | Use PR mode (create PR instead of auto-merge) | No |
--no-auto | Skip auto-updating YAML/backlog/status | No |
-f, --force | Force operation | No |
--force-overlap | Force claiming despite overlap (requires —reason) | No |
--fix | Auto-fix common YAML validation issues (WU-1359) | No |
-r, --reason <reason> | Reason for action (required with —skip-gates, —override-owner) | No |
--allow-incomplete | Allow claiming with incomplete spec (bypasses spec completeness, NOT schema errors) | No |
--cloud | Use cloud/branch-pr mode (no worktree, PR-based completion for cloud agents and MCP callers) | No |
--resume | Resume a WU from a crashed/killed agent (handoff) by taking over the existing worktree and updating the lock with new PID. Fails if original PID is still running (safety) or worktree does not exist. | No |
--skip-setup | Skip automatic pnpm install in worktree after creation (faster claims when deps already built) | No |
--no-push | Skip pushing claim branch or canonical updates (air-gapped/offline) | No |
wu:create
Section titled “wu:create”Create new WU spec
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No |
-l, --lane <lane> | Lane name (e.g., “Operations: Tooling”) | Yes |
-t, --title <title> | Work Unit title | Yes |
-p, --priority <priority> | Priority level (P0, P1, P2, P3) | No |
--type <type> | WU type (feature, bug, refactor, documentation) | No |
--initiative <ref> | Parent initiative (INIT-XXX or slug) | No |
--phase <number> | Phase number within initiative | No |
--blocked-by <wuIds> | WU IDs that block this WU (repeatable) | No |
--blocks <wuIds> | WU IDs this WU blocks (repeatable) | No |
--labels <labels> | Labels (repeatable) | No |
--assigned-to <email> | Override assigned_to (defaults to git config user.email) | No |
--description <text> | WU description text (Context/Problem/Solution) | No |
--acceptance <criterion> | Acceptance criterion (repeatable, use multiple times) | No |
--notes <text> | Implementation notes or context (optional) | No |
--code-paths <paths> | Code paths (repeatable) | No |
--test-paths-manual <tests> | Manual test descriptions (repeatable) | No |
--test-paths-unit <paths> | Unit test file paths (repeatable) | No |
--test-paths-e2e <paths> | E2E test file paths (repeatable) | No |
--validate | Validate spec completeness (requires description, acceptance, test paths) | No |
--spec-refs <paths> | Spec/plan references (repeatable or comma-separated, required for type: feature) | No |
--exposure <type> | Exposure level (ui, api, backend-only, documentation) | No |
--user-journey <text> | User journey description (recommended for ui/api exposure) | No |
--ui-pairing-wus <wuIds> | UI WU IDs that consume this API (repeatable or comma-separated, for api exposure) | No |
--plan | Create plan template in $LUMENFLOW_HOME/plans/ (external plan storage) | No |
--estimated-files <count> | Optional sizing estimate: expected number of files to modify (non-negative integer) | No |
--estimated-tool-calls <count> | Optional sizing estimate: expected number of tool calls (non-negative integer) | No |
--sizing-strategy <strategy> | Optional sizing strategy (single-session, checkpoint-resume, orchestrator-worker, decomposition) | No |
--sizing-exception-type <type> | Optional sizing exception type when thresholds are exceeded (docs-only, shallow-multi-file) | No |
--sizing-exception-reason <text> | Optional sizing exception justification text | No |
--no-strict | Bypass strict validation (skip code_paths/test_paths existence checks, treat warnings as advisory). Logged when used. | No |
--cloud | Use cloud/branch-pr mode (no worktree, PR-based completion for cloud agents and MCP callers) | No |
--offline | Skip remote fetch during ID generation (air-gapped/offline mode) | No |
wu:delegate
Section titled “wu:delegate”Generate delegation prompt and record explicit lineage intent
wu:done
Section titled “wu:done”Complete WU (merge, stamp, cleanup) from main
wu:edit
Section titled “wu:edit”Edit WU spec fields
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
--test-paths-manual <tests> | Manual test descriptions (repeatable) | No |
--test-paths-unit <paths> | Unit test file paths (repeatable) | No |
--test-paths-e2e <paths> | E2E test file paths (repeatable) | No |
--exposure <type> | Exposure level (ui, api, backend-only, documentation) | No |
--no-strict | Bypass strict validation (skip code_paths/test_paths existence checks, treat warnings as advisory). Logged when used. | No |
--spec-file <path> | Path to YAML file with updated spec content | No |
--title <text> | New title text (replaces existing) | No |
--description <text> | New description text (replaces existing) | No |
--acceptance <criterion> | Acceptance criterion (repeatable, appends to existing; use —replace-acceptance to overwrite) | No |
--notes <text> | Notes text (appends to existing; use —replace-notes to overwrite) | No |
--replace-notes | Replace existing notes instead of appending | No |
--replace-acceptance | Replace existing acceptance criteria instead of appending | No |
--code-paths <path> | Code path (repeatable, appends to existing; use —replace-code-paths to overwrite) | No |
--replace-code-paths | Replace existing code_paths instead of appending | No |
--risks <risk> | Risk entry (repeatable, appends to existing; use —replace-risks to overwrite) | No |
--replace-risks | Replace existing risks instead of appending | No |
--append | [DEPRECATED] Arrays now append by default. Use —replace-* flags to replace. | No |
--replace-test-paths-unit | Replace existing unit test paths instead of appending | No |
--replace-test-paths-e2e | Replace existing e2e test paths instead of appending | No |
--replace-test-paths-manual | Replace existing manual test descriptions instead of appending | No |
--lane <lane> | New lane assignment (e.g., “Operations: Tooling”) | No |
--type <type> | New WU type (feature, bug, refactor, documentation) | No |
--priority <priority> | New priority (P0, P1, P2, P3) | No |
--initiative <initId> | Initiative ID (e.g., INIT-001). Updates WU and initiative wus: arrays bidirectionally. | No |
--phase <number> | Phase number within initiative (e.g., 1, 2) | No |
--blocked-by <wuIds> | Comma-separated WU IDs that block this WU (appends to existing; use —replace-blocked-by to overwrite) | No |
--replace-blocked-by | Replace existing blocked_by instead of appending | No |
--add-dep <wuIds> | Comma-separated WU IDs to add to dependencies array (appends to existing; use —replace-dependencies to overwrite) | No |
--replace-dependencies | Replace existing dependencies instead of appending | No |
--plan <uri> | Plan file URI (lumenflow://plans/… or repo-relative path) | No |
wu:escalate
Section titled “wu:escalate”Show or resolve WU escalation status
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
--resolve | Resolve the escalation (set resolved_by and resolved_at) | No |
--resolver <email> | Override resolver email (defaults to git user.email) | No |
wu:prep
Section titled “wu:prep”Run gates in worktree, prep for wu:done
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
--docs-only | Run docs-only gates (format, spec-linter) | No |
--full-tests | Run full incremental test suite (disable tests.unit scoped execution) | No |
wu:recover
Section titled “wu:recover”Analyze and fix WU state inconsistencies
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
--override-owner | Override ownership check (requires —reason) | No |
-r, --reason <reason> | Reason for action (required with —skip-gates, —override-owner) | No |
wu:release
Section titled “wu:release”Release orphaned WU (in_progress to ready)
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
-r, --reason <reason> | Reason for action (required with —skip-gates, —override-owner) | Yes |
--override-owner | Override ownership check (requires —reason) | No |
wu:sandbox
Section titled “wu:sandbox”Run command through hardened WU sandbox backend
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
-w, --worktree <path> | Override worktree path | No |
wu:status
Section titled “wu:status”Show WU status, location, valid commands
wu:unblock
Section titled “wu:unblock”Unblock WU
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
-r, --reason <reason> | Reason for action (required with —skip-gates, —override-owner) | No |
--create-worktree | Create worktree when unblocking | No |
-w, --worktree <path> | Override worktree path | No |
-b, --branch <branch> | Override branch name | No |
--no-auto | Skip auto-updating YAML/backlog/status | No |
-f, --force | Force operation | No |
--override-owner | Override ownership check (requires —reason) | No |
wu:validate
Section titled “wu:validate”Validate WU spec
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No |
--no-strict | Bypass strict validation (skip code_paths/test_paths existence checks, treat warnings as advisory). Logged when used. | No |
wu:verify
Section titled “wu:verify”Verify WU completion (stamp, commit, clean tree)
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
WU Maintenance
Section titled “WU Maintenance”wu:cleanup
Section titled “wu:cleanup”Cleanup after PR merge
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No |
--artifacts | Remove build artifacts (dist, tsbuildinfo) in current worktree | No |
wu:delete
Section titled “wu:delete”Delete WU spec and cleanup
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No |
--dry-run | Show what would be deleted without making changes | No |
--batch <ids> | Delete multiple WUs atomically (comma-separated: WU-1,WU-2,WU-3) | No |
wu:deps
Section titled “wu:deps”Show WU dependencies
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | No |
--format <format> | Output format (table, json, ascii, mermaid) | No |
-d, --depth <number> | Maximum traversal depth | No |
--direction <dir> | Graph direction (up, down, both) | No |
wu:infer-lane
Section titled “wu:infer-lane”Infer lane from code paths/description using workspace definitions
wu:preflight
Section titled “wu:preflight”Pre-flight checks before wu:done
Options:
| Flag | Description | Required |
|---|---|---|
-i, --id <wuId> | Work Unit ID (e.g., WU-123). If not provided, auto-generates next sequential ID. | Yes |
-w, --worktree <path> | Override worktree path | No |
wu:proto
Section titled “wu:proto”Create WU prototype
Options:
| Flag | Description | Required |
|---|---|---|
-l, --lane <lane> | Lane name (e.g., “Operations: Tooling”) | Yes |
-t, --title <title> | Work Unit title | Yes |
--description <text> | WU description text (Context/Problem/Solution) | No |
--code-paths <paths> | Code paths (repeatable) | No |
--labels <labels> | Labels (repeatable) | No |
--assigned-to <email> | Override assigned_to (defaults to git config user.email) | No |
wu:prune
Section titled “wu:prune”Clean stale worktrees
wu:repair
Section titled “wu:repair”Repair WU state issues
wu:unlock-lane
Section titled “wu:unlock-lane”Unlock stuck lane
Options:
| Flag | Description | Required |
|---|---|---|
-l, --lane <lane> | Lane name (e.g., “Operations: Tooling”) | No |
-r, --reason <reason> | Reason for action (required with —skip-gates, —override-owner) | No |
-f, --force | Force operation | No |
Next Steps
Section titled “Next Steps”- Configuration – Configure LumenFlow
- WU Schema – Work Unit YAML structure