@lumenflow/cli 3.18.1 → 3.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs-sync.js +123 -6
- package/dist/docs-sync.js.map +1 -1
- package/dist/gate-co-change.js +23 -4
- package/dist/gate-co-change.js.map +1 -1
- package/dist/gates-runners.js +113 -16
- package/dist/gates-runners.js.map +1 -1
- package/dist/gates-utils.js +71 -0
- package/dist/gates-utils.js.map +1 -1
- package/dist/lumenflow-upgrade.js +1 -0
- package/dist/lumenflow-upgrade.js.map +1 -1
- package/dist/public-manifest.js +1 -1
- package/dist/public-manifest.js.map +1 -1
- package/dist/sync-templates.js +13 -0
- package/dist/sync-templates.js.map +1 -1
- package/dist/wu-block.js +10 -0
- package/dist/wu-block.js.map +1 -1
- package/dist/wu-claim-validation.js +3 -1
- package/dist/wu-claim-validation.js.map +1 -1
- package/dist/wu-claim.js +3 -1
- package/dist/wu-claim.js.map +1 -1
- package/dist/wu-done-memory-telemetry.js +5 -1
- package/dist/wu-done-memory-telemetry.js.map +1 -1
- package/dist/wu-done-ownership.js +6 -0
- package/dist/wu-done-ownership.js.map +1 -1
- package/dist/wu-edit-operations.js +4 -4
- package/dist/wu-edit-operations.js.map +1 -1
- package/dist/wu-prep.js +88 -13
- package/dist/wu-prep.js.map +1 -1
- package/dist/wu-prune.js +2 -2
- package/dist/wu-prune.js.map +1 -1
- package/dist/wu-recover.js +15 -0
- package/dist/wu-recover.js.map +1 -1
- package/dist/wu-release.js +10 -1
- package/dist/wu-release.js.map +1 -1
- package/dist/wu-spawn-prompt-builders.js +27 -2
- package/dist/wu-spawn-prompt-builders.js.map +1 -1
- package/dist/wu-state-mutation-ownership.js +136 -0
- package/dist/wu-state-mutation-ownership.js.map +1 -0
- package/dist/wu-unblock.js +10 -0
- package/dist/wu-unblock.js.map +1 -1
- package/dist/wu-verify.js +22 -17
- package/dist/wu-verify.js.map +1 -1
- package/package.json +111 -110
- package/packs/agent-runtime/.turbo/turbo-build.log +1 -1
- package/packs/agent-runtime/package.json +1 -1
- package/packs/sidekick/.turbo/turbo-build.log +1 -1
- package/packs/sidekick/README.md +118 -113
- package/packs/sidekick/manifest-schema.ts +15 -228
- package/packs/sidekick/manifest.ts +107 -7
- package/packs/sidekick/manifest.yaml +199 -1
- package/packs/sidekick/package.json +4 -1
- package/packs/sidekick/policy-factory.ts +38 -0
- package/packs/sidekick/tool-impl/channel-tools.ts +99 -0
- package/packs/sidekick/tool-impl/memory-tools.ts +86 -1
- package/packs/sidekick/tool-impl/routine-tools.ts +156 -2
- package/packs/sidekick/tool-impl/storage.ts +6 -5
- package/packs/sidekick/tool-impl/task-tools.ts +186 -4
- package/packs/software-delivery/.turbo/turbo-build.log +1 -1
- package/packs/software-delivery/package.json +1 -1
- package/templates/core/AGENTS.md.template +157 -32
- package/templates/core/LUMENFLOW.md.template +44 -29
- package/templates/core/_frameworks/lumenflow/wu-sizing-guide.md.template +644 -0
- package/templates/core/ai/onboarding/agent-invocation-guide.md.template +5 -5
- package/templates/core/ai/onboarding/agent-safety-card.md.template +1 -0
- package/templates/core/ai/onboarding/docs-generation.md.template +94 -4
- package/templates/core/ai/onboarding/first-15-mins.md.template +1 -1
- package/templates/core/ai/onboarding/first-wu-mistakes.md.template +2 -1
- package/templates/core/ai/onboarding/initiative-orchestration.md.template +21 -21
- package/templates/core/ai/onboarding/quick-ref-commands.md.template +126 -109
- package/templates/core/ai/onboarding/release-process.md.template +12 -12
- package/templates/core/ai/onboarding/starting-prompt.md.template +33 -32
- package/templates/vendors/claude/.claude/skills/initiative-management/SKILL.md.template +2 -2
- package/templates/vendors/claude/.claude/skills/multi-agent-coordination/SKILL.md.template +2 -2
- package/templates/vendors/claude/.claude/skills/orchestration/SKILL.md.template +3 -3
- package/dist/chunk-2D2VOCA4.js +0 -37
- package/dist/chunk-2D5KFYGX.js +0 -284
- package/dist/chunk-2GXVIN57.js +0 -14072
- package/dist/chunk-2MQ7HZWZ.js +0 -26
- package/dist/chunk-2UFQ3A3C.js +0 -643
- package/dist/chunk-3RG5ZIWI.js +0 -10
- package/dist/chunk-4N74J3UT.js +0 -15
- package/dist/chunk-5GTOXFYR.js +0 -392
- package/dist/chunk-5VY6MQMC.js +0 -240
- package/dist/chunk-67XVPMRY.js +0 -1297
- package/dist/chunk-6HO4GWJE.js +0 -164
- package/dist/chunk-6W5XHWYV.js +0 -1890
- package/dist/chunk-6X4EMYJQ.js +0 -64
- package/dist/chunk-6XYXI2NQ.js +0 -772
- package/dist/chunk-7ANSOV6Q.js +0 -285
- package/dist/chunk-A624LFLB.js +0 -1380
- package/dist/chunk-ADN5NHG4.js +0 -126
- package/dist/chunk-B7YJYJKG.js +0 -33
- package/dist/chunk-CCLHCPKG.js +0 -210
- package/dist/chunk-CK36VROC.js +0 -1584
- package/dist/chunk-D3UOFRSB.js +0 -81
- package/dist/chunk-DFR4DJBM.js +0 -230
- package/dist/chunk-DSYBDHYH.js +0 -79
- package/dist/chunk-DWMLTXKQ.js +0 -1176
- package/dist/chunk-E3REJTAJ.js +0 -28
- package/dist/chunk-EA3IVO64.js +0 -633
- package/dist/chunk-EK2AKZKD.js +0 -55
- package/dist/chunk-ELD7JTTT.js +0 -343
- package/dist/chunk-EX6TT2XI.js +0 -195
- package/dist/chunk-EXINSFZE.js +0 -82
- package/dist/chunk-EZ6ZBYBM.js +0 -510
- package/dist/chunk-FBKAPTJ2.js +0 -16
- package/dist/chunk-FVLV5RYH.js +0 -1118
- package/dist/chunk-GDNSBQVK.js +0 -2485
- package/dist/chunk-GPQHMBNN.js +0 -278
- package/dist/chunk-GTFJB67L.js +0 -68
- package/dist/chunk-HANJXVKW.js +0 -1127
- package/dist/chunk-HEVS5YLD.js +0 -269
- package/dist/chunk-HMEVZKPQ.js +0 -9
- package/dist/chunk-HRGSYNLM.js +0 -3511
- package/dist/chunk-ISZR5N4K.js +0 -60
- package/dist/chunk-J6SUPR2C.js +0 -226
- package/dist/chunk-JERYVEIZ.js +0 -244
- package/dist/chunk-JHHWGL2N.js +0 -87
- package/dist/chunk-JONWQUB5.js +0 -775
- package/dist/chunk-K2DIWWDM.js +0 -1766
- package/dist/chunk-KY4PGL5V.js +0 -969
- package/dist/chunk-L737LQ4C.js +0 -1285
- package/dist/chunk-LFTWYIB2.js +0 -497
- package/dist/chunk-LV47RFNJ.js +0 -41
- package/dist/chunk-MKSAITI7.js +0 -15
- package/dist/chunk-MZ7RKIX4.js +0 -212
- package/dist/chunk-NAP6CFSO.js +0 -84
- package/dist/chunk-ND6MY37M.js +0 -16
- package/dist/chunk-NMG736UR.js +0 -683
- package/dist/chunk-NRAXROED.js +0 -32
- package/dist/chunk-NRIZR3A7.js +0 -690
- package/dist/chunk-NX43BG3M.js +0 -233
- package/dist/chunk-O645XLSI.js +0 -297
- package/dist/chunk-OMJD6A3S.js +0 -235
- package/dist/chunk-QB6SJD4T.js +0 -430
- package/dist/chunk-QFSTL4J3.js +0 -276
- package/dist/chunk-QLGDFMFX.js +0 -212
- package/dist/chunk-RIAAGL2E.js +0 -13
- package/dist/chunk-RWO5XMZ6.js +0 -86
- package/dist/chunk-RXRKBBSM.js +0 -149
- package/dist/chunk-RZOZMML6.js +0 -363
- package/dist/chunk-U7I7FS7T.js +0 -113
- package/dist/chunk-UI42RODY.js +0 -717
- package/dist/chunk-UTVMVSCO.js +0 -519
- package/dist/chunk-V6OJGLBA.js +0 -1746
- package/dist/chunk-W2JHVH7D.js +0 -152
- package/dist/chunk-WD3Y7VQN.js +0 -280
- package/dist/chunk-WOCTQ5MS.js +0 -303
- package/dist/chunk-WZR3ZUNN.js +0 -696
- package/dist/chunk-XGI665H7.js +0 -150
- package/dist/chunk-XKY65P2T.js +0 -304
- package/dist/chunk-Y4CQZY65.js +0 -57
- package/dist/chunk-YFEXKLVE.js +0 -194
- package/dist/chunk-YHO3HS5X.js +0 -287
- package/dist/chunk-YLS7AZSX.js +0 -738
- package/dist/chunk-ZE473AO6.js +0 -49
- package/dist/chunk-ZF747T3O.js +0 -644
- package/dist/chunk-ZHCZHZH3.js +0 -43
- package/dist/chunk-ZZNZX2XY.js +0 -87
- package/dist/constants-7QAP3VQ4.js +0 -23
- package/dist/dist-IY3UUMWK.js +0 -33
- package/dist/invariants-runner-W5RGHCSU.js +0 -27
- package/dist/lane-lock-6J36HD5O.js +0 -35
- package/dist/mem-checkpoint-core-EANG2GVN.js +0 -14
- package/dist/mem-signal-core-2LZ2WYHW.js +0 -19
- package/dist/memory-store-OLB5FO7K.js +0 -18
- package/dist/service-6BYCOCO5.js +0 -13
- package/dist/spawn-policy-resolver-NTSZYQ6R.js +0 -17
- package/dist/spawn-task-builder-R4E2BHSW.js +0 -22
- package/dist/wu-done-pr-WLFFFEPJ.js +0 -25
- package/dist/wu-done-validation-3J5E36FE.js +0 -30
- package/dist/wu-duplicate-id-detector-5S7JHELK.js +0 -232
- package/packs/sidekick/.turbo/turbo-test.log +0 -12
- package/packs/sidekick/.turbo/turbo-typecheck.log +0 -4
- package/packs/software-delivery/.turbo/turbo-typecheck.log +0 -4
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
**Last updated:** {{DATE}}
|
|
4
4
|
|
|
5
|
+
> **Works with any AI coding assistant.** This file provides instructions that work regardless of which AI tool you're using -- Claude Code, Cursor, Windsurf, Cline, Codex, Aider, or any other. Just read this file and follow the workflow.
|
|
6
|
+
|
|
5
7
|
This project uses LumenFlow workflow. For complete documentation, see [LUMENFLOW.md](LUMENFLOW.md).
|
|
6
8
|
If `LUMENFLOW.local.md` exists, read it after LUMENFLOW.md for project-specific additions.
|
|
7
9
|
|
|
@@ -26,51 +28,102 @@ For the full workflow, principles, and setup instructions, read [LUMENFLOW.md](L
|
|
|
26
28
|
|
|
27
29
|
---
|
|
28
30
|
|
|
29
|
-
## Quick Start
|
|
31
|
+
## Quick Start (Local Worktree -- Default)
|
|
32
|
+
|
|
33
|
+
First-time lane setup (once per project, after plan/context is known):
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
pnpm lane:setup
|
|
37
|
+
pnpm lane:validate
|
|
38
|
+
pnpm lane:lock
|
|
39
|
+
```
|
|
30
40
|
|
|
31
41
|
```bash
|
|
32
42
|
# 1. Claim a WU
|
|
33
43
|
pnpm wu:claim --id WU-XXXX --lane <Lane>
|
|
34
44
|
cd worktrees/<lane>-wu-xxxx
|
|
35
45
|
|
|
36
|
-
# 2. Work in worktree
|
|
37
|
-
pnpm gates
|
|
46
|
+
# 2. Work in worktree
|
|
38
47
|
|
|
39
|
-
# 3.
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
# 3. Prep (runs gates in worktree)
|
|
49
|
+
pnpm wu:prep --id WU-XXXX
|
|
50
|
+
# This prints a copy-paste command for step 4
|
|
51
|
+
|
|
52
|
+
# 4. Complete (from main - copy-paste from wu:prep output)
|
|
53
|
+
cd <project-root> && pnpm wu:done --id WU-XXXX
|
|
42
54
|
```
|
|
43
55
|
|
|
44
|
-
|
|
56
|
+
## Quick Start (Cloud / Branch-PR)
|
|
45
57
|
|
|
46
|
-
|
|
58
|
+
Cloud agents (Codex, Claude web, CI bots) that cannot use local worktrees use the **branch-pr** mode. This is a first-class lifecycle, not a workaround.
|
|
59
|
+
|
|
60
|
+
**Activation is explicit-only:** cloud mode is enabled only by `--cloud` or `LUMENFLOW_CLOUD=1`. Runtime identity env vars such as `CLAUDECODE`, `CODEX`, or `CI` do not activate cloud mode.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# 1. Create in cloud mode (ID auto-generated; optional if WU already exists)
|
|
64
|
+
pnpm wu:create --lane <Lane> --title "..." ... --cloud
|
|
65
|
+
# Output: Created WU-XXXX
|
|
66
|
+
|
|
67
|
+
# 2. Claim in cloud mode (creates lane branch, no worktree)
|
|
68
|
+
pnpm wu:claim --id WU-XXXX --lane <Lane> --cloud
|
|
69
|
+
# Or: LUMENFLOW_CLOUD=1 pnpm wu:claim --id WU-XXXX --lane <Lane>
|
|
47
70
|
|
|
48
|
-
|
|
71
|
+
# 3. Work on the lane branch in your cloud environment
|
|
49
72
|
|
|
50
|
-
|
|
73
|
+
# 4. Prep (validates branch, runs gates)
|
|
74
|
+
pnpm wu:prep --id WU-XXXX
|
|
51
75
|
|
|
52
|
-
|
|
76
|
+
# 5. Complete (creates PR instead of merging to main)
|
|
77
|
+
pnpm wu:done --id WU-XXXX
|
|
78
|
+
# Output: PR created. After merge, run: pnpm wu:cleanup --id WU-XXXX
|
|
79
|
+
|
|
80
|
+
# 6. Post-merge cleanup (after PR is merged)
|
|
81
|
+
pnpm wu:cleanup --id WU-XXXX
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Key differences from worktree mode:**
|
|
85
|
+
|
|
86
|
+
- `wu:claim --cloud` sets `claimed_mode: branch-pr` (no worktree created)
|
|
87
|
+
- `wu:create --cloud` writes WU specs on the active branch (no main checkout requirement)
|
|
88
|
+
- `wu:done` creates a PR instead of fast-forward merging to main
|
|
89
|
+
- `wu:cleanup` handles post-merge stamp creation and state updates
|
|
90
|
+
- `wu:recover` and `wu:repair` respect branch-pr claimed branches for recovery/admin fixes
|
|
91
|
+
- Cloud mode is never auto-enabled by runtime identity env vars (`CLAUDECODE`, `CODEX`, `CI`)
|
|
53
92
|
|
|
54
93
|
---
|
|
55
94
|
|
|
56
|
-
##
|
|
95
|
+
## CLI Commands and Lifecycle Reference
|
|
96
|
+
|
|
97
|
+
For complete CLI command documentation (100+ commands), see [quick-ref-commands.md]({{QUICK_REF_LINK}}).
|
|
98
|
+
|
|
99
|
+
**Essential commands:**
|
|
57
100
|
|
|
58
|
-
| Command | Description
|
|
59
|
-
| ------------------------- |
|
|
60
|
-
| `pnpm wu:create` | Create new WU spec (ID auto-generated)
|
|
61
|
-
| `pnpm wu:claim` | Claim WU and create worktree (or `--cloud`)
|
|
62
|
-
| `pnpm wu:prep` | Run gates in worktree, prep for wu:done
|
|
63
|
-
| `pnpm wu:done` | Complete WU (merge or PR, stamp, cleanup)
|
|
64
|
-
| `pnpm wu:status` | Show WU status, location, valid commands
|
|
101
|
+
| Command | Description |
|
|
102
|
+
| ------------------------- | ----------------------------------------------------------------------- |
|
|
103
|
+
| `pnpm wu:create` | Create new WU spec (ID auto-generated) |
|
|
104
|
+
| `pnpm wu:claim` | Claim WU and create worktree (or `--cloud`) |
|
|
105
|
+
| `pnpm wu:prep` | Run gates in worktree, prep for wu:done |
|
|
106
|
+
| `pnpm wu:done` | Complete WU (merge or PR, stamp, cleanup) |
|
|
107
|
+
| `pnpm wu:status` | Show WU status, location, valid commands |
|
|
65
108
|
| `pnpm wu:brief` | **MANDATORY after wu:claim.** Generate handoff prompt + record evidence |
|
|
66
|
-
| `pnpm wu:delegate` | Generate prompt + record
|
|
67
|
-
| `pnpm wu:recover` | Analyze and fix WU state inconsistencies
|
|
68
|
-
| `pnpm wu:escalate` | Show or resolve WU escalation status
|
|
69
|
-
| `pnpm wu:
|
|
70
|
-
| `pnpm
|
|
71
|
-
| `pnpm
|
|
72
|
-
| `pnpm
|
|
73
|
-
| `pnpm
|
|
109
|
+
| `pnpm wu:delegate` | Generate prompt + record lineage + brief hash attestation |
|
|
110
|
+
| `pnpm wu:recover` | Analyze and fix WU state inconsistencies |
|
|
111
|
+
| `pnpm wu:escalate` | Show or resolve WU escalation status |
|
|
112
|
+
| `pnpm wu:verify` | Verify WU completion (stamp, commit, clean tree) |
|
|
113
|
+
| `pnpm wu:delete` | Delete WU spec and cleanup |
|
|
114
|
+
| `pnpm gates` | Run all quality gates (`--docs-only` for docs) |
|
|
115
|
+
| `pnpm lumenflow:commands` | List all public commands (primary + aliases + legacy) |
|
|
116
|
+
| `pnpm lane:status` | Show lane lifecycle status and next step |
|
|
117
|
+
| `pnpm lane:setup` | Create/update draft lane artifacts |
|
|
118
|
+
| `pnpm lane:lock` | Lock lane lifecycle for delivery WUs |
|
|
119
|
+
| `pnpm mem:checkpoint` | Save progress checkpoint |
|
|
120
|
+
| `pnpm mem:recover` | Generate recovery context |
|
|
121
|
+
|
|
122
|
+
**Two-step completion (wu:prep then wu:done):**
|
|
123
|
+
|
|
124
|
+
The completion workflow is a two-step process. Run `wu:prep` from the worktree (runs gates, prints copy-paste instruction), then run `wu:done` from main (merge + cleanup). Do NOT run `wu:done` from a worktree.
|
|
125
|
+
|
|
126
|
+
For detailed troubleshooting, see [troubleshooting-wu-done.md]({{DOCS_ONBOARDING_PATH}}/troubleshooting-wu-done.md).
|
|
74
127
|
|
|
75
128
|
---
|
|
76
129
|
|
|
@@ -80,15 +133,17 @@ This is the single most forgotten step. See [LUMENFLOW.md](LUMENFLOW.md) for det
|
|
|
80
133
|
2. **Worktree Discipline**: After `wu:claim`, work ONLY in the worktree
|
|
81
134
|
3. **Gates Before Done**: Run `pnpm gates` before `wu:done`
|
|
82
135
|
4. **Never Bypass Hooks**: No `--no-verify`
|
|
136
|
+
5. **Vendor-Agnostic Dirty-Main Guard**: `wu:prep` and `wu:done` hard-block when main has non-allowlisted dirty files during worktree WUs (including MCP/tool-originated writes). `branch-pr` mode is exempt.
|
|
137
|
+
|
|
138
|
+
For the complete set of non-negotiable constraints (git safety, forbidden commands, skip-gates policy, and more), see [.lumenflow/constraints.md](.lumenflow/constraints.md).
|
|
83
139
|
|
|
84
140
|
---
|
|
85
141
|
|
|
86
|
-
## Forbidden Commands
|
|
142
|
+
## Safety: Forbidden Commands and Safe Alternatives
|
|
143
|
+
|
|
144
|
+
LumenFlow enforces safety at the repository level via git wrappers and hooks. For the full list of forbidden commands and their safe `wu:` alternatives, see [.lumenflow/constraints.md](.lumenflow/constraints.md).
|
|
87
145
|
|
|
88
|
-
|
|
89
|
-
- `git push --force`
|
|
90
|
-
- `git stash` (on main)
|
|
91
|
-
- `--no-verify`
|
|
146
|
+
**Key rule:** Always use `wu:` commands for worktree and branch management -- never raw `git worktree` or `git branch -D` commands. Use `wu:recover` for state inconsistencies, `wu:release` for abandoned WUs, and `wu:prune` for stale worktrees.
|
|
92
147
|
|
|
93
148
|
---
|
|
94
149
|
|
|
@@ -99,3 +154,73 @@ This file provides universal guidance for all AI agents. Additional vendor-speci
|
|
|
99
154
|
- **Claude Code**: See `CLAUDE.md` (if present)
|
|
100
155
|
- **Cursor**: See `.cursor/rules/lumenflow.md` (if present)
|
|
101
156
|
- **Windsurf**: See `.windsurf/rules/lumenflow.md` (if present)
|
|
157
|
+
- **Cline**: See `.clinerules` (if present)
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Workflow Summary
|
|
162
|
+
|
|
163
|
+
### Local (Worktree Mode -- Default)
|
|
164
|
+
|
|
165
|
+
| Step | Location | Command |
|
|
166
|
+
| ------------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
167
|
+
| 1. Create WU | main | `pnpm wu:create --lane <Lane> --title "Title" --description "..." --acceptance "..." --code-paths "..." --test-paths-unit "..." --exposure backend-only` (ID auto-generated) |
|
|
168
|
+
| 2. Claim | main | `pnpm wu:claim --id WU-XXX --lane <Lane>` |
|
|
169
|
+
| 3. Brief | worktree | `cd worktrees/<lane>-wu-xxx && pnpm wu:brief --id WU-XXX --client <client>` **(mandatory — wu:done blocks without this)** |
|
|
170
|
+
| 4. Work | worktree | Implement changes per acceptance criteria |
|
|
171
|
+
| 5. Prep | worktree | `pnpm wu:prep --id WU-XXX` (runs gates) |
|
|
172
|
+
| 6. Complete | main | `pnpm wu:done --id WU-XXX` (copy-paste from wu:prep) |
|
|
173
|
+
|
|
174
|
+
### Cloud (Branch-PR Mode)
|
|
175
|
+
|
|
176
|
+
| Step | Location | Command |
|
|
177
|
+
| ------------ | ----------- | ------------------------------------------------------------------------------------------- |
|
|
178
|
+
| 1. Create WU | lane branch | `pnpm wu:create --lane <Lane> --title "..." ... --cloud` (ID auto-generated) |
|
|
179
|
+
| 2. Claim | lane branch | `pnpm wu:claim --id WU-XXX --lane <Lane> --cloud` |
|
|
180
|
+
| 3. Brief | lane branch | `pnpm wu:brief --id WU-XXX --client <client>` **(mandatory — wu:done blocks without this)** |
|
|
181
|
+
| 4. Work | lane branch | Work on `lane/<lane>/wu-xxx` in cloud environment |
|
|
182
|
+
| 5. Prep | lane branch | `pnpm wu:prep --id WU-XXX` (validates branch, runs gates) |
|
|
183
|
+
| 6. Complete | lane branch | `pnpm wu:done --id WU-XXX` (creates PR) |
|
|
184
|
+
| 7. Cleanup | after merge | `pnpm wu:cleanup --id WU-XXX` (post-merge stamps) |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Public Docs IA (Kernel + Packs)
|
|
189
|
+
|
|
190
|
+
- Kernel docs source: `apps/docs/src/content/docs/kernel/**`
|
|
191
|
+
- Software Delivery Pack docs source: `apps/docs/src/content/docs/packs/software-delivery/**`
|
|
192
|
+
- Language guides (pack-scoped): `apps/docs/src/content/docs/packs/software-delivery/languages/**`
|
|
193
|
+
- Docs truth YAML files:
|
|
194
|
+
- `apps/docs/src/data/version-policy.yaml`
|
|
195
|
+
- `apps/docs/src/data/language-support.yaml`
|
|
196
|
+
- `apps/docs/src/data/example-repos.yaml`
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Further Reading
|
|
201
|
+
|
|
202
|
+
- [LUMENFLOW.md](LUMENFLOW.md) -- Main workflow documentation (principles, setup, initiatives, skills)
|
|
203
|
+
- [.lumenflow/constraints.md](.lumenflow/constraints.md) -- Non-negotiable rules and forbidden commands
|
|
204
|
+
- [Quick Reference: Commands]({{QUICK_REF_LINK}}) -- Complete CLI reference (100+ commands)
|
|
205
|
+
- [Troubleshooting wu:done]({{DOCS_ONBOARDING_PATH}}/troubleshooting-wu-done.md) -- Most common completion mistakes
|
|
206
|
+
- [LumenFlow Agent Capsule]({{DOCS_OPERATIONS_PATH}}/_frameworks/lumenflow/lumenflow-agent-capsule.md) -- Full framework reference (lifecycle, lanes, gates, DoD)
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Context Recovery (WU-2157)
|
|
211
|
+
|
|
212
|
+
If you are resuming work or have lost context, check for recovery files:
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
# Check for pending recovery
|
|
216
|
+
ls .lumenflow/state/recovery-pending-*.md 2>/dev/null
|
|
217
|
+
|
|
218
|
+
# Generate fresh recovery context
|
|
219
|
+
pnpm mem:recover --wu WU-XXX
|
|
220
|
+
|
|
221
|
+
# Or generate a full handoff prompt
|
|
222
|
+
pnpm wu:brief --id WU-XXX --client codex-cli
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Recovery files contain your last checkpoint, acceptance criteria, code paths, and changed files.
|
|
226
|
+
Always save checkpoints before long operations: `pnpm mem:checkpoint "progress note" --wu WU-XXX`
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
**Last updated:** {{DATE}}
|
|
4
4
|
|
|
5
|
-
> **This file is managed by LumenFlow.** Do not edit — it will be overwritten on upgrade.
|
|
6
|
-
> For project-specific additions, create `LUMENFLOW.local.md` (never overwritten).
|
|
7
|
-
> If `LUMENFLOW.local.md` exists, agents should read it after this file.
|
|
8
|
-
|
|
9
5
|
LumenFlow is a vendor-agnostic workflow framework for AI-native software development.
|
|
10
6
|
|
|
11
7
|
> **Context Safety**: When approaching context limits (80% usage, 50+ tool calls), spawn a fresh agent instead of continuing after compaction. See [wu-sizing-guide.md]({{DOCS_OPERATIONS_PATH}}/_frameworks/lumenflow/wu-sizing-guide.md).
|
|
@@ -54,6 +50,9 @@ cd worktrees/<lane>-wu-xxxx
|
|
|
54
50
|
# 4b. Build CLI in worktree (required for gates)
|
|
55
51
|
pnpm bootstrap
|
|
56
52
|
|
|
53
|
+
# 4c. Run wu:brief (MANDATORY — wu:done blocks without this)
|
|
54
|
+
pnpm wu:brief --id WU-XXXX --client <client>
|
|
55
|
+
|
|
57
56
|
# 5. Implement in worktree
|
|
58
57
|
|
|
59
58
|
# 6. Prepare (runs gates in worktree) - WU-1223 NEW
|
|
@@ -141,7 +140,7 @@ When `requireRemote: true` (default):
|
|
|
141
140
|
## Core Principles
|
|
142
141
|
|
|
143
142
|
1. **Design-First** (feature/refactor WUs): Load `/skill design-first` before implementation. Question requirements, delete unnecessary, simplify before optimizing
|
|
144
|
-
2. **Fit-For-Surface Verification**: Choose the least brittle verification that gives strong confidence. Prefer TDD for runtime logic when repository policy requires it; prefer behavior-focused integration, smoke, visual, or manual verification for UI, content, and presentation work.
|
|
143
|
+
2. **Fit-For-Surface Verification**: Choose the least brittle verification that gives strong confidence. Prefer TDD for runtime logic when repository policy requires it; prefer behavior-focused integration, smoke, visual, or manual verification for UI, content, and presentation work. Never assert inline styles, CSS values, exact copy, or DOM shape in E2E/integration tests.
|
|
145
144
|
3. **Library-First**: Search existing libraries before custom code
|
|
146
145
|
4. **DRY/SOLID/KISS/YAGNI**: No magic numbers, no hardcoded strings
|
|
147
146
|
5. **Worktree Discipline**: After `wu:claim`, work ONLY in the worktree
|
|
@@ -221,6 +220,22 @@ lumenflow init --merge # Safe merge into existing files
|
|
|
221
220
|
|
|
222
221
|
The `--merge` flag uses bounded markers (`LUMENFLOW:START`/`END`) to safely insert or update LumenFlow config in existing files without overwriting user content.
|
|
223
222
|
|
|
223
|
+
### File Ownership Model
|
|
224
|
+
|
|
225
|
+
| File | Owner | On Upgrade | User Overrides |
|
|
226
|
+
| ------------------------------ | ------------------------- | --------------------------------------------------------------- | ------------------------ |
|
|
227
|
+
| `LUMENFLOW.md` | LumenFlow (fully managed) | Force-synced from template | Use `LUMENFLOW.local.md` |
|
|
228
|
+
| `.lumenflow/constraints.md` | LumenFlow (fully managed) | Force-synced from template | — |
|
|
229
|
+
| `AGENTS.md` | Shared (merge-block) | Content between `LUMENFLOW:START`/`END` updated; rest preserved | Edit outside markers |
|
|
230
|
+
| `CLAUDE.md` | Shared (merge-block) | Content between markers updated; rest preserved | Edit outside markers |
|
|
231
|
+
| `.cursor/rules/lumenflow.md` | Shared (merge-block) | Content between markers updated; rest preserved | Edit outside markers |
|
|
232
|
+
| `.windsurf/rules/lumenflow.md` | Shared (merge-block) | Content between markers updated; rest preserved | Edit outside markers |
|
|
233
|
+
| `LUMENFLOW.local.md` | User (never touched) | Skipped entirely | Full ownership |
|
|
234
|
+
| `.lumenflow/templates/` | User (never touched) | Skipped entirely | Full ownership |
|
|
235
|
+
|
|
236
|
+
> For project-specific workflow additions, create `LUMENFLOW.local.md` (never overwritten).
|
|
237
|
+
> If `LUMENFLOW.local.md` exists, agents should read it after this file.
|
|
238
|
+
|
|
224
239
|
---
|
|
225
240
|
|
|
226
241
|
## Worktree Discipline (IMMUTABLE LAW)
|
|
@@ -254,31 +269,31 @@ For the full worktree lifecycle (parallel execution, bootstrap, isolation guaran
|
|
|
254
269
|
|
|
255
270
|
> **Complete CLI reference (100+ commands):** See [quick-ref-commands.md]({{QUICK_REF_LINK}}). Always run `<command> --help` for the authoritative option list.
|
|
256
271
|
|
|
257
|
-
| Command | Description
|
|
258
|
-
| ------------------------- |
|
|
259
|
-
| `pnpm wu:create` | Create new WU spec
|
|
260
|
-
| `pnpm wu:claim` | Claim WU, update canonical state, create worktree
|
|
261
|
-
| `pnpm wu:prep` | Run gates in worktree, prep for wu:done
|
|
262
|
-
| `pnpm wu:done` | Complete WU (merge, stamp, cleanup)
|
|
263
|
-
| `pnpm wu:status` | Show WU status, location, and valid commands
|
|
264
|
-
| `pnpm wu:recover` | Analyze and fix WU state inconsistencies
|
|
265
|
-
| `pnpm wu:block` | Block WU (transitions to blocked, frees lane)
|
|
266
|
-
| `pnpm wu:unblock` | Unblock WU (transitions to in_progress)
|
|
267
|
-
| `pnpm wu:release` | Release orphaned WU (in_progress to ready for reclaim)
|
|
272
|
+
| Command | Description |
|
|
273
|
+
| ------------------------- | ----------------------------------------------------------------------- |
|
|
274
|
+
| `pnpm wu:create` | Create new WU spec |
|
|
275
|
+
| `pnpm wu:claim` | Claim WU, update canonical state, create worktree |
|
|
276
|
+
| `pnpm wu:prep` | Run gates in worktree, prep for wu:done |
|
|
277
|
+
| `pnpm wu:done` | Complete WU (merge, stamp, cleanup) |
|
|
278
|
+
| `pnpm wu:status` | Show WU status, location, and valid commands |
|
|
279
|
+
| `pnpm wu:recover` | Analyze and fix WU state inconsistencies |
|
|
280
|
+
| `pnpm wu:block` | Block WU (transitions to blocked, frees lane) |
|
|
281
|
+
| `pnpm wu:unblock` | Unblock WU (transitions to in_progress) |
|
|
282
|
+
| `pnpm wu:release` | Release orphaned WU (in_progress to ready for reclaim) |
|
|
268
283
|
| `pnpm wu:brief` | **MANDATORY after wu:claim.** Generate handoff prompt + record evidence |
|
|
269
|
-
| `pnpm wu:delegate` | Generate prompt + record lineage + brief hash attestation
|
|
270
|
-
| `pnpm wu:escalate` | Show or resolve WU escalation status
|
|
271
|
-
| `pnpm wu:verify` | Verify WU completion (stamp, commit, clean tree)
|
|
272
|
-
| `pnpm wu:delete` | Delete WU spec and cleanup
|
|
273
|
-
| `pnpm gates` | Run quality gates (`--docs-only` for docs WUs)
|
|
274
|
-
| `pnpm lumenflow:commands` | List all public commands (primary + alias + legacy)
|
|
275
|
-
| `pnpm docs:generate` | Regenerate CLI/config reference docs from source
|
|
276
|
-
| `pnpm docs:validate` | Verify generated docs are up-to-date
|
|
277
|
-
| `pnpm lane:status` | Show lane lifecycle status + next step
|
|
278
|
-
| `pnpm lane:setup` | Create/update draft lane artifacts
|
|
279
|
-
| `pnpm lane:validate` | Validate lane artifacts before lock
|
|
280
|
-
| `pnpm lane:lock` | Lock lane lifecycle for delivery WUs
|
|
281
|
-
| `pnpm mem:checkpoint` | Save memory checkpoint
|
|
284
|
+
| `pnpm wu:delegate` | Generate prompt + record lineage + brief hash attestation |
|
|
285
|
+
| `pnpm wu:escalate` | Show or resolve WU escalation status |
|
|
286
|
+
| `pnpm wu:verify` | Verify WU completion (stamp, commit, clean tree) |
|
|
287
|
+
| `pnpm wu:delete` | Delete WU spec and cleanup |
|
|
288
|
+
| `pnpm gates` | Run quality gates (`--docs-only` for docs WUs) |
|
|
289
|
+
| `pnpm lumenflow:commands` | List all public commands (primary + alias + legacy) |
|
|
290
|
+
| `pnpm docs:generate` | Regenerate CLI/config reference docs from source |
|
|
291
|
+
| `pnpm docs:validate` | Verify generated docs are up-to-date |
|
|
292
|
+
| `pnpm lane:status` | Show lane lifecycle status + next step |
|
|
293
|
+
| `pnpm lane:setup` | Create/update draft lane artifacts |
|
|
294
|
+
| `pnpm lane:validate` | Validate lane artifacts before lock |
|
|
295
|
+
| `pnpm lane:lock` | Lock lane lifecycle for delivery WUs |
|
|
296
|
+
| `pnpm mem:checkpoint` | Save memory checkpoint |
|
|
282
297
|
|
|
283
298
|
Commands include **context-aware validation** that checks location, WU status, and git state. When validation fails, commands provide copy-paste ready fix commands. Configure in `workspace.yaml` under `software_delivery.experimental.context_validation`.
|
|
284
299
|
The Starlight CLI reference page is intentionally curated to primary commands; use `pnpm lumenflow:commands` for complete discovery.
|