Skip to content

CLI Commands

The LumenFlow CLI provides commands for managing work units, initiatives, memory, and quality gates.

bash pnpm add -D @lumenflow/cli

Create a new work unit spec.

Terminal window
pnpm wu:create --id WU-001 --title "Add feature" --lane Core
FlagDescriptionRequired
--idUnique WU identifierYes
--titleShort descriptionYes
--laneTarget laneYes
--typefeature, fix, chore, discoveryNo (default: feature)

Claim a WU and create a worktree.

Terminal window
pnpm wu:claim --id WU-001 --lane Core
FlagDescriptionRequired
--idWU to claimYes
--laneLane to claim inYes

Creates:

  • Worktree at worktrees/{lane}-{wu-id}
  • Branch lane/{lane}/{wu-id}
  • Updates WU status to in_progress

Complete a WU after gates pass.

Terminal window
pnpm wu:done --id WU-001
FlagDescriptionRequired
--idWU to completeYes
--skip-gatesSkip gate checks (requires --reason)No
--reasonReason for skipping gatesNo

Actions:

  1. Runs gates (unless skipped)
  2. Merges worktree to main
  3. Creates stamp in .beacon/stamps/
  4. Cleans up worktree
  5. Updates WU status to done

Edit WU spec files with micro-worktree isolation.

Terminal window
pnpm wu:edit --id WU-001 --description "Updated description"
pnpm wu:edit --id WU-001 --acceptance "New criterion" --append
pnpm wu:edit --id WU-001 --initiative INIT-001 --phase 2
FlagDescription
--idWU to edit (required)
--descriptionNew description (replaces existing)
--acceptanceAcceptance criterion (repeatable)
--notesNew notes text
--code-pathsCode path (repeatable)
--appendAppend to arrays instead of replacing
--laneNew lane assignment
--typeNew WU type
--priorityNew priority (P0-P3)
--initiativeLink to initiative
--phasePhase number within initiative
--blocked-byComma-separated blocking WU IDs
--add-depAdd to dependencies array

Mark a WU as blocked.

Terminal window
pnpm wu:block --id WU-001 --reason "Waiting for API spec"
FlagDescriptionRequired
--idWU to blockYes
--reasonWhy it’s blockedYes

Unblock a WU.

Terminal window
pnpm wu:unblock --id WU-001

Validate WU YAML against schema.

Terminal window
pnpm wu:validate --id WU-001
pnpm wu:validate --all

Fast validation before running full gates. Completes in under 5 seconds.

Terminal window
pnpm wu:preflight --id WU-001

Checks:

  • code_paths files exist
  • Test file paths exist
  • WU YAML schema is valid

Recommended workflow:

  1. Implement feature/fix
  2. pnpm wu:preflight --id WU-XXX (fast check)
  3. pnpm gates (full validation)
  4. pnpm wu:done --id WU-XXX

Generate Task tool invocation for sub-agent WU execution.

Terminal window
pnpm wu:spawn --id WU-001
pnpm wu:spawn --id WU-001 --thinking --budget 10000
pnpm wu:spawn --id WU-001 --parent-wu WU-1000
FlagDescription
--idWU to spawn (required)
--thinkingEnable extended thinking
--budgetToken budget for thinking
--codexOutput Codex/GPT-friendly format
--parent-wuParent WU for orchestrator context

Detect and fix WU state issues.

Terminal window
# Consistency repair (default)
pnpm wu:repair --id WU-001
pnpm wu:repair --all --check
# Claim repair
pnpm wu:repair --claim --id WU-001
# Admin repair
pnpm wu:repair --admin --id WU-001 --lane "New Lane" --status done
FlagDescriptionMode
--idWU to repairAll
--checkAudit only, no changesConsistency
--allCheck/repair all WUsConsistency
--claimFix missing claim metadataClaim
--adminFix done WUsAdmin
--repair-stateFix corrupted state filesState

Maintain worktree hygiene.

Terminal window
pnpm wu:prune # Dry-run (shows issues)
pnpm wu:prune --execute # Execute cleanup

Detects:

  • Orphan directories (exist but not tracked)
  • Stale worktrees (WU is done/blocked)
  • Invalid branch naming

Clean up worktree and branch after PR merge.

Terminal window
pnpm wu:cleanup --id WU-001

Show WU dependency graph.

Terminal window
pnpm wu:deps --id WU-001

Suggest sub-lane for a WU based on paths and description.

Terminal window
pnpm wu:infer-lane --id WU-001
pnpm wu:infer-lane --paths "tools/**" "docs/**" --desc "Tooling improvements"

Delete WU files with micro-worktree isolation.

Terminal window
pnpm wu:delete --id WU-001
pnpm wu:delete --id WU-001 --dry-run
pnpm wu:delete --batch WU-1,WU-2,WU-3
FlagDescription
--idWU to delete
--batchComma-separated WU IDs
--dry-runPreview without making changes

Clear lane locks for recovery scenarios.

Terminal window
pnpm wu:unlock-lane --lane Core --reason "Process crashed"
pnpm wu:unlock-lane --lane Core --reason "Emergency" --force
pnpm wu:unlock-lane --list
FlagDescription
--laneLane to unlock
--reasonAudit reason (required)
--forceForce unlock active locks
--listList all current locks

Lock types:

  • Zombie locks (PID not running): Can be unlocked without --force
  • Stale locks (>24h old): Can be unlocked without --force
  • Active locks: Require --force to unlock

Initiatives group related WUs into phased execution plans.

Create a new initiative.

Terminal window
pnpm initiative:create --id INIT-001 --slug my-initiative --title "Big Feature" --priority P1
FlagDescriptionRequired
--idInitiative IDYes
--slugKebab-case slugYes
--titleInitiative titleYes
--priorityPriority (P0-P3)No
--ownerOwner (team or individual)No
--target-dateTarget date (YYYY-MM-DD)No

Edit initiative YAML files.

Terminal window
pnpm initiative:edit --id INIT-001 --status in_progress
pnpm initiative:edit --id INIT-001 --add-phase "Phase 3: Rollout"
pnpm initiative:edit --id INIT-001 --blocked-by INIT-002 --blocked-reason "Waiting for infrastructure"
FlagDescription
--statusdraft, open, in_progress, done, archived
--blocked-byBlocking initiative ID
--unblockRemove blocked status
--add-laneAdd lane (repeatable)
--remove-laneRemove lane (repeatable)
--notesAppend to notes
--add-phaseAdd new phase
--phase-id + --phase-statusUpdate phase status

List all initiatives with progress.

Terminal window
pnpm initiative:list
pnpm initiative:list --format json
pnpm initiative:list --status in_progress
FlagDescription
--formattable, json, ascii, mermaid
--statusFilter by status
--colorEnable colored output

Show detailed initiative view with phases and WUs.

Terminal window
pnpm initiative:status --id INIT-001
pnpm initiative:status --id INIT-001 --format mermaid

Link a WU to an initiative bidirectionally.

Terminal window
pnpm initiative:add-wu --initiative INIT-001 --wu WU-123

The memory layer provides persistent context for AI agents across sessions.

Initialize memory layer.

Terminal window
pnpm mem:init

Creates .beacon/memory/ directory structure.

Start a new agent session.

Terminal window
pnpm mem:start
pnpm mem:start --wu WU-001

Check pending work and context.

Terminal window
pnpm mem:ready

Shows:

  • Active WU
  • Last checkpoint
  • Pending signals
  • Next steps

Create a checkpoint to save session state.

Terminal window
pnpm mem:checkpoint

Signal progress to other agents.

Terminal window
pnpm mem:signal "Completed validation logic"

Check for messages/signals from other sessions.

Terminal window
pnpm mem:inbox

Create a memory node with provenance tracking.

Terminal window
pnpm mem:create "Found a bug in auth flow" --type discovery --wu WU-001
pnpm mem:create "API changed" --discovered-from mem-abc123 --tags api,breaking
FlagDescription
--typesession, discovery, checkpoint, note, summary
--discovered-fromParent node ID for provenance
--wuLink to WU
--sessionLink to session
--tagsComma-separated tags
--priorityP0-P3

Rollup older memory nodes into summary nodes.

Terminal window
pnpm mem:summarize --wu WU-001
pnpm mem:summarize --wu WU-001 --dry-run

Review discovery nodes and promote to WUs or archive.

Terminal window
pnpm mem:triage --list
pnpm mem:triage --promote mem-abc123 --lane Core --title "Fix auth bug"
pnpm mem:triage --archive mem-def456 --reason "Duplicate of WU-100"
FlagDescription
--listList open discoveries
--promotePromote to WU
--archiveArchive without promotion
--wuFilter by WU ID
--tagFilter by tag

Prune memory nodes based on lifecycle policy and TTL.

Terminal window
pnpm mem:cleanup # Cleanup based on lifecycle policy
pnpm mem:cleanup --dry-run # Preview without changes
pnpm mem:cleanup --ttl 30d # Remove nodes older than 30 days
pnpm mem:cleanup --session-id <uuid> # Close specific session
pnpm mem:cleanup --json # Output as JSON
FlagDescription
--dry-runPreview without making changes
--ttlRemove nodes older than duration
--session-idClose specific session
--jsonOutput results as JSON

Cleanup rules:

  • Ephemeral nodes are always discarded
  • Session nodes removed when session closes
  • Summarized nodes archived (marked with summarized_into)
  • Active sessions are never removed

Quality gates ensure code meets standards before completion.

Run all quality gates.

Terminal window
pnpm gates
pnpm gates --docs-only # For documentation changes

Runs:

  1. Format check
  2. Lint check
  3. Type check
  4. Test suite

Run only format gate.

Terminal window
pnpm gates:format

Run only lint gate.

Terminal window
pnpm gates:lint

Run only typecheck gate.

Terminal window
pnpm gates:typecheck

Run only test gate.

Terminal window
pnpm gates:test

Display spawn trees for WUs or initiatives.

Terminal window
pnpm spawn-list --wu WU-001
pnpm spawn-list --initiative INIT-001
pnpm spawn-list --initiative INIT-001 --json

Orchestrate initiative execution with parallel agent spawning.

Terminal window
pnpm orchestrate:initiative --initiative INIT-001
pnpm orchestrate:initiative --initiative INIT-001 --dry-run
pnpm orchestrate:initiative --initiative INIT-001 --progress
pnpm orchestrate:initiative --initiative INIT-001 --checkpoint-per-wave
FlagDescription
--initiativeInitiative ID(s) to orchestrate
--dry-runShow execution plan without spawning
--progressShow current progress only
--checkpoint-per-waveSpawn next wave then exit (no polling)
--no-checkpointForce polling mode

Compact status view for initiative progress.

Terminal window
pnpm orchestrate:init-status --initiative INIT-001

Monitor spawned agent progress using mem:inbox signals.

Terminal window
pnpm orchestrate:monitor --since 30m
pnpm orchestrate:monitor --since 1h
FlagDescription
--sinceShow signals from this time (e.g., 30m)

Commands for managing agent sessions and telemetry.

Start an agent session for tracking WU execution.

Terminal window
pnpm agent:session --wu WU-001 --tier 2
pnpm agent:session --wu WU-001 --tier 2 --agent-type claude-code
FlagDescription
--wuWU ID to work on (required)
--tierContext tier: 1, 2, or 3
--agent-typeAgent type (default: claude-code)

End the current agent session.

Terminal window
pnpm agent:session:end

Initialize LumenFlow in a new project.

Terminal window
pnpm exec lumenflow init

Creates:

  • .lumenflow.config.yaml
  • docs/tasks/backlog.md
  • docs/tasks/wu/
  • .beacon/stamps/

Validate configuration.

Terminal window
pnpm exec lumenflow validate

Checks:

  • Config file syntax
  • Lane definitions
  • Gate configuration

CodeMeaning
0Success
1Command failed (see error message)
2Validation error
3WU not found
4Lane at WIP limit
VariableDescriptionDefault
LUMENFLOW_CONFIGConfig file path.lumenflow.config.yaml
LUMENFLOW_VERBOSEEnable verbose outputfalse
LUMENFLOW_NO_COLORDisable colored outputfalse