@lumenflow/cli 4.11.0 → 4.12.1
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/doctor.js +72 -0
- package/dist/doctor.js.map +1 -1
- package/dist/lumenflow-upgrade.js +74 -1
- package/dist/lumenflow-upgrade.js.map +1 -1
- package/dist/public-manifest.js +7 -0
- package/dist/public-manifest.js.map +1 -1
- package/dist/wu-claim-state.js +5 -1
- package/dist/wu-claim-state.js.map +1 -1
- package/dist/wu-create.js +57 -6
- package/dist/wu-create.js.map +1 -1
- package/dist/wu-done-git-ops.js +5 -1
- package/dist/wu-done-git-ops.js.map +1 -1
- package/dist/wu-rename.js +238 -0
- package/dist/wu-rename.js.map +1 -0
- package/package.json +9 -8
- 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/package.json +1 -1
- package/packs/software-delivery/.turbo/turbo-build.log +1 -1
- package/packs/software-delivery/package.json +1 -1
- package/templates/core/.lumenflow/constraints.md.template +2 -0
- package/templates/core/AGENTS.md.template +14 -0
- package/templates/core/LUMENFLOW.md.template +16 -0
- package/templates/core/ai/onboarding/docs-generation.md.template +23 -0
- package/templates/core/ai/onboarding/first-wu-mistakes.md.template +2 -2
- package/templates/core/ai/onboarding/quick-ref-commands.md.template +53 -24
- package/templates/core/ai/onboarding/release-process.md.template +43 -23
- package/templates/core/ai/onboarding/starting-prompt.md.template +16 -6
- package/templates/core/ai/onboarding/troubleshooting-wu-done.md.template +6 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-rename.js","sourceRoot":"","sources":["../src/wu-rename.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumenflow/cli",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.12.1",
|
|
4
4
|
"description": "Command-line interface for LumenFlow workflow framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lumenflow",
|
|
@@ -147,6 +147,7 @@
|
|
|
147
147
|
"wu-prune": "./dist/wu-prune.js",
|
|
148
148
|
"wu-recover": "./dist/wu-recover.js",
|
|
149
149
|
"wu-release": "./dist/wu-release.js",
|
|
150
|
+
"wu-rename": "./dist/wu-rename.js",
|
|
150
151
|
"wu-repair": "./dist/wu-repair.js",
|
|
151
152
|
"wu-sandbox": "./dist/wu-sandbox.js",
|
|
152
153
|
"wu-status": "./dist/wu-status.js",
|
|
@@ -187,13 +188,13 @@
|
|
|
187
188
|
"xstate": "^5.28.0",
|
|
188
189
|
"yaml": "^2.8.2",
|
|
189
190
|
"zod": "^4.3.6",
|
|
190
|
-
"@lumenflow/agent": "4.
|
|
191
|
-
"@lumenflow/
|
|
192
|
-
"@lumenflow/
|
|
193
|
-
"@lumenflow/
|
|
194
|
-
"@lumenflow/memory": "4.
|
|
195
|
-
"@lumenflow/metrics": "4.
|
|
196
|
-
"@lumenflow/
|
|
191
|
+
"@lumenflow/agent": "4.12.1",
|
|
192
|
+
"@lumenflow/core": "4.12.1",
|
|
193
|
+
"@lumenflow/initiatives": "4.12.1",
|
|
194
|
+
"@lumenflow/kernel": "4.12.1",
|
|
195
|
+
"@lumenflow/memory": "4.12.1",
|
|
196
|
+
"@lumenflow/metrics": "4.12.1",
|
|
197
|
+
"@lumenflow/control-plane-sdk": "4.12.1"
|
|
197
198
|
},
|
|
198
199
|
"devDependencies": {
|
|
199
200
|
"@vitest/coverage-v8": "^4.0.18",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @lumenflow/packs-agent-runtime@4.
|
|
2
|
+
> @lumenflow/packs-agent-runtime@4.12.1 build /home/runner/work/lumenflow-dev/lumenflow-dev/packages/@lumenflow/packs/agent-runtime
|
|
3
3
|
> tsc
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @lumenflow/packs-software-delivery@4.
|
|
2
|
+
> @lumenflow/packs-software-delivery@4.12.1 build /home/runner/work/lumenflow-dev/lumenflow-dev/packages/@lumenflow/packs/software-delivery
|
|
3
3
|
> tsc
|
|
4
4
|
|
|
@@ -59,6 +59,8 @@ If you see something broken on main (failing gates, format issues, typos, lint e
|
|
|
59
59
|
|
|
60
60
|
**If you're on main and want to change something: STOP. Create a WU first.**
|
|
61
61
|
|
|
62
|
+
**If main is already dirty from an unexpected command side effect:** Use `git restore` and `git clean -n` (dry run) to recover — never hand-edit files to "undo" a generator. See [.lumenflow/rules/git-safety.md](rules/git-safety.md) section "Main Went Dirty Unexpectedly" for the full recovery procedure.
|
|
63
|
+
|
|
62
64
|
---
|
|
63
65
|
|
|
64
66
|
### 2. WUs Are Specs, Not Code
|
|
@@ -111,6 +111,7 @@ For detailed troubleshooting, see [troubleshooting-wu-done.md]({{DOCS_ONBOARDING
|
|
|
111
111
|
3. **Gates Before Done**: Run `pnpm gates` before `wu:done`
|
|
112
112
|
4. **Never Bypass Hooks**: No `--no-verify`
|
|
113
113
|
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.
|
|
114
|
+
6. **Docs Parity For Behavior Changes**: If you change LumenFlow behavior or workflow guidance, update internal docs, Starlight docs, or both as appropriate. Generated reference docs do not cover narrative behavior changes by themselves.
|
|
114
115
|
|
|
115
116
|
For the complete set of non-negotiable constraints (git safety, forbidden commands, skip-gates policy, and more), see [.lumenflow/constraints.md](.lumenflow/constraints.md).
|
|
116
117
|
|
|
@@ -172,6 +173,19 @@ This file provides universal guidance for all AI agents. Additional vendor-speci
|
|
|
172
173
|
- `apps/docs/src/data/language-support.yaml`
|
|
173
174
|
- `apps/docs/src/data/example-repos.yaml`
|
|
174
175
|
|
|
176
|
+
## Documentation Obligations
|
|
177
|
+
|
|
178
|
+
When LumenFlow behavior changes, decide documentation impact explicitly instead of assuming
|
|
179
|
+
`docs:generate` is sufficient.
|
|
180
|
+
|
|
181
|
+
- Update **internal docs** when the change affects agent workflow, maintainer workflow, onboarding,
|
|
182
|
+
or repo-specific operating rules.
|
|
183
|
+
- Update **Starlight docs** when the change affects public CLI behavior, pack behavior, language
|
|
184
|
+
guidance, or user-facing workflow expectations.
|
|
185
|
+
- Update **both** when the same behavior change affects agents internally and users externally.
|
|
186
|
+
- State the outcome in your completion notes or report: `Internal docs`, `Starlight docs`, `Both`,
|
|
187
|
+
or `None`.
|
|
188
|
+
|
|
175
189
|
---
|
|
176
190
|
|
|
177
191
|
## Further Reading
|
|
@@ -200,6 +200,22 @@ For cloud agents (Codex/Claude web/CI) operating on feature branches:
|
|
|
200
200
|
- **apps/docs/src/data/language-support.yaml** - Language guide support metadata
|
|
201
201
|
- **apps/docs/src/data/example-repos.yaml** - Companion example-repo mapping
|
|
202
202
|
|
|
203
|
+
### Documentation Obligations
|
|
204
|
+
|
|
205
|
+
`pnpm docs:generate` only keeps generated reference pages in sync. It does **not** update narrative
|
|
206
|
+
workflow guidance for you.
|
|
207
|
+
|
|
208
|
+
When behavior changes:
|
|
209
|
+
|
|
210
|
+
- Update **internal docs** (`AGENTS.md`, `LUMENFLOW.md`, onboarding docs) when the change affects
|
|
211
|
+
agent workflow, maintainer workflow, onboarding, or repo-specific operating rules.
|
|
212
|
+
- Update **Starlight docs** (`apps/docs/src/content/docs/**`) when the change affects public CLI
|
|
213
|
+
behavior, pack behavior, language guides, or user-facing workflow expectations.
|
|
214
|
+
- Update **both** when the same behavior change affects agents internally and users externally.
|
|
215
|
+
|
|
216
|
+
Do not mark a behavior-change WU complete until you have explicitly decided: `Internal docs`,
|
|
217
|
+
`Starlight docs`, `Both`, or `None`.
|
|
218
|
+
|
|
203
219
|
### Client/Vendor Overlays
|
|
204
220
|
|
|
205
221
|
- **CLAUDE.md** - Claude Code overlay (single file at root)
|
|
@@ -16,6 +16,29 @@ LumenFlow automatically generates CLI and configuration reference documentation
|
|
|
16
16
|
| Config Reference | `packages/@lumenflow/core/src/lumenflow-config-schema.ts` | `apps/docs/src/content/docs/reference/config.mdx` |
|
|
17
17
|
| MCP Reference | `packages/@lumenflow/mcp/src/tools.ts` | `apps/docs/src/content/docs/reference/mcp.mdx` |
|
|
18
18
|
|
|
19
|
+
## What This Does Not Cover
|
|
20
|
+
|
|
21
|
+
Generated reference docs are only one part of docs parity.
|
|
22
|
+
|
|
23
|
+
`pnpm docs:generate` does **not** update narrative behavior docs such as:
|
|
24
|
+
|
|
25
|
+
- `AGENTS.md`
|
|
26
|
+
- `LUMENFLOW.md`
|
|
27
|
+
- `{{DOCS_ONBOARDING_PATH}}/**`
|
|
28
|
+
- `apps/docs/src/content/docs/packs/**`
|
|
29
|
+
- `apps/docs/src/content/docs/kernel/**`
|
|
30
|
+
- `apps/docs/src/content/docs/packs/software-delivery/languages/**`
|
|
31
|
+
|
|
32
|
+
When behavior changes, make an explicit docs decision:
|
|
33
|
+
|
|
34
|
+
- **Internal docs** when the change affects agent workflow, maintainer workflow, onboarding, or
|
|
35
|
+
repo-specific operating rules
|
|
36
|
+
- **Starlight docs** when the change affects public CLI behavior, pack behavior, language guides,
|
|
37
|
+
or user-facing workflow expectations
|
|
38
|
+
- **Both** when the same behavior change affects internal agents and external users
|
|
39
|
+
|
|
40
|
+
If you changed behavior and only ran `pnpm docs:generate`, your docs work is probably incomplete.
|
|
41
|
+
|
|
19
42
|
## Example Tagging Conventions
|
|
20
43
|
|
|
21
44
|
Docs example parity now distinguishes between copy-paste workflow examples and illustrative
|
|
@@ -208,7 +208,7 @@ pnpm gates
|
|
|
208
208
|
# Output: format:check failed
|
|
209
209
|
|
|
210
210
|
# Instinct: "I should help fix this!"
|
|
211
|
-
|
|
211
|
+
pnpm prettier --write apps/docs/src/content/docs/concepts/lanes.mdx
|
|
212
212
|
# Files modified on main - BAD!
|
|
213
213
|
```
|
|
214
214
|
|
|
@@ -226,7 +226,7 @@ pnpm gates
|
|
|
226
226
|
pnpm wu:create --lane "Content: Documentation" --title "Fix format issues" ...
|
|
227
227
|
pnpm wu:claim --id WU-XXX --lane "Content: Documentation"
|
|
228
228
|
cd worktrees/content-documentation-wu-xxx
|
|
229
|
-
|
|
229
|
+
pnpm prettier --write <files> # Safe in worktree
|
|
230
230
|
```
|
|
231
231
|
|
|
232
232
|
**Why:** The "helpful fix" instinct is dangerous. Even small fixes (format, typos, lint) must go through a worktree. Commits are blocked by hooks, but files are still modified, requiring cleanup with `git checkout -- <files>`.
|
|
@@ -130,27 +130,42 @@ you want to refresh docs without upgrading packages (e.g., after manually editin
|
|
|
130
130
|
|
|
131
131
|
## WU Lifecycle
|
|
132
132
|
|
|
133
|
-
| Command | Description
|
|
134
|
-
| -------------------------------------------------------------- |
|
|
135
|
-
| `pnpm wu:create --lane <Lane> --title "..." ..` | Create new WU spec (ID auto-generated; see fields below)
|
|
136
|
-
| `pnpm wu:claim --id WU-XXX --lane <Lane>` | Claim WU and create worktree (default)
|
|
137
|
-
| `pnpm wu:claim --id WU-XXX --lane <L> --cloud` | Claim WU in cloud/branch-pr mode (no worktree)
|
|
138
|
-
| `pnpm wu:prep --id WU-XXX [--full-tests]` | Run gates, prep for wu:done (`tests.unit` scoped
|
|
139
|
-
| `pnpm wu:done --id WU-XXX` | Complete WU (merge or PR, stamp, cleanup)
|
|
140
|
-
| `pnpm wu:edit --id WU-XXX --description "..."` | Edit WU spec fields (run --help for all flags)
|
|
141
|
-
| `pnpm wu:escalate --id WU-XXX` | Show escalation status for a WU
|
|
142
|
-
| `pnpm wu:escalate --resolve --id WU-XXX` | Resolve escalation (sets resolved_by/resolved_at)
|
|
143
|
-
| `pnpm approval:request --type <type> --subject <json>` | Request control-plane approval for an action
|
|
144
|
-
| `pnpm approval:review --id <approvalId> --decision <decision>` | Resolve an approval decision (`approved`/`rejected`/`expired`)
|
|
145
|
-
| `pnpm approval:list [--status <status>]` | List approvals with optional status/type filters
|
|
146
|
-
| `pnpm wu:block --id WU-XXX --reason "..."` | Block WU with reason (ownership-guarded, v3.19.0)
|
|
147
|
-
| `pnpm wu:unblock --id WU-XXX` | Unblock WU (ownership-guarded, v3.19.0)
|
|
148
|
-
| `pnpm wu:release --id WU-XXX --reason "..."` | Release orphaned WU (ownership-guarded, v3.19.0)
|
|
149
|
-
| `pnpm wu:status --id WU-XXX` | Show WU status, location, valid commands
|
|
150
|
-
| `pnpm wu:brief --id WU-XXX --client <client>` | **MANDATORY after wu:claim.** Generate handoff prompt + record evidence. wu:done blocks without this (WU-2379)
|
|
151
|
-
| `pnpm wu:brief --id WU-XXX --no-context` | Generate prompt without memory context injection
|
|
152
|
-
| `pnpm wu:delegate --id WU-XXX --parent-wu <P>` | Generate prompt, record lineage, and store brief hash attestation
|
|
153
|
-
| `pnpm wu:sandbox --id WU-XXX -- <cmd>` | Run command through hardened WU sandbox backend
|
|
133
|
+
| Command | Description |
|
|
134
|
+
| -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
135
|
+
| `pnpm wu:create --lane <Lane> --title "..." ..` | Create new WU spec (ID auto-generated; see fields below) |
|
|
136
|
+
| `pnpm wu:claim --id WU-XXX --lane <Lane>` | Claim WU and create worktree (default) |
|
|
137
|
+
| `pnpm wu:claim --id WU-XXX --lane <L> --cloud` | Claim WU in cloud/branch-pr mode (no worktree) |
|
|
138
|
+
| `pnpm wu:prep --id WU-XXX [--full-tests]` | Run gates, prep for wu:done (`tests.unit` is scoped only when the active preset supports path-scoped execution) |
|
|
139
|
+
| `pnpm wu:done --id WU-XXX` | Complete WU (merge or PR, stamp, cleanup) |
|
|
140
|
+
| `pnpm wu:edit --id WU-XXX --description "..."` | Edit WU spec fields (run --help for all flags) |
|
|
141
|
+
| `pnpm wu:escalate --id WU-XXX` | Show escalation status for a WU |
|
|
142
|
+
| `pnpm wu:escalate --resolve --id WU-XXX` | Resolve escalation (sets resolved_by/resolved_at) |
|
|
143
|
+
| `pnpm approval:request --type <type> --subject <json>` | Request control-plane approval for an action |
|
|
144
|
+
| `pnpm approval:review --id <approvalId> --decision <decision>` | Resolve an approval decision (`approved`/`rejected`/`expired`) |
|
|
145
|
+
| `pnpm approval:list [--status <status>]` | List approvals with optional status/type filters |
|
|
146
|
+
| `pnpm wu:block --id WU-XXX --reason "..."` | Block WU with reason (ownership-guarded, v3.19.0) |
|
|
147
|
+
| `pnpm wu:unblock --id WU-XXX` | Unblock WU (ownership-guarded, v3.19.0) |
|
|
148
|
+
| `pnpm wu:release --id WU-XXX --reason "..."` | Release orphaned WU (ownership-guarded, v3.19.0) |
|
|
149
|
+
| `pnpm wu:status --id WU-XXX` | Show WU status, location, valid commands |
|
|
150
|
+
| `pnpm wu:brief --id WU-XXX --client <client>` | **MANDATORY after wu:claim.** Generate handoff prompt + record evidence. wu:done blocks without this (WU-2379) |
|
|
151
|
+
| `pnpm wu:brief --id WU-XXX --no-context` | Generate prompt without memory context injection |
|
|
152
|
+
| `pnpm wu:delegate --id WU-XXX --parent-wu <P>` | Generate prompt, record lineage, and store brief hash attestation |
|
|
153
|
+
| `pnpm wu:sandbox --id WU-XXX -- <cmd>` | Run command through hardened WU sandbox backend |
|
|
154
|
+
|
|
155
|
+
Common surgical `wu:edit` patterns:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Rename one code_path entry without rewriting the full array
|
|
159
|
+
pnpm wu:edit --id WU-123 \
|
|
160
|
+
--rename-code-paths "docs/08_concepts.md=docs/08_crosscutting_concepts.md"
|
|
161
|
+
|
|
162
|
+
# Remove one stale code_path entry
|
|
163
|
+
pnpm wu:edit --id WU-123 --remove-code-paths "docs/old-path.md"
|
|
164
|
+
|
|
165
|
+
# Rename one scoped unit test path without replacing all test paths
|
|
166
|
+
pnpm wu:edit --id WU-123 \
|
|
167
|
+
--rename-test-paths-unit "tests/old-name.test.ts=tests/new-name.test.ts"
|
|
168
|
+
```
|
|
154
169
|
|
|
155
170
|
### WU Maintenance
|
|
156
171
|
|
|
@@ -210,11 +225,9 @@ only run when matching files change. Supports `error` (blocks), `warn` (logs), a
|
|
|
210
225
|
severity levels. See workspace-spec.mdx for schema.
|
|
211
226
|
|
|
212
227
|
**Formatting: always scope to changed files only.**
|
|
213
|
-
Use `
|
|
228
|
+
Use `pnpm prettier --write <changed-files...>` — never unscoped `pnpm format`.
|
|
214
229
|
Running `pnpm format` reformats every file in the repo, creating hundreds of
|
|
215
230
|
dirty YAML/initiative changes that pollute the worktree and block `wu:done`.
|
|
216
|
-
The command above is resolved at init time from your gate preset (WU-2547), so
|
|
217
|
-
`.NET` repos get `dotnet format`, Python repos get `ruff format`, etc.
|
|
218
231
|
|
|
219
232
|
---
|
|
220
233
|
|
|
@@ -467,6 +480,22 @@ For the complete orchestration workflow (delegation, memory coordination, failur
|
|
|
467
480
|
| `pnpm docs:generate` | Generate CLI documentation |
|
|
468
481
|
| `pnpm docs:validate` | Validate CLI documentation |
|
|
469
482
|
|
|
483
|
+
### Documentation Decision Rule
|
|
484
|
+
|
|
485
|
+
For behavior changes, make an explicit docs decision instead of assuming generated reference docs
|
|
486
|
+
cover everything:
|
|
487
|
+
|
|
488
|
+
- **Internal docs**: agent workflow, maintainer workflow, onboarding, or repo-specific operating
|
|
489
|
+
rules changed.
|
|
490
|
+
- **Starlight docs**: public CLI behavior, pack behavior, language guidance, or user-facing
|
|
491
|
+
workflow changed.
|
|
492
|
+
- **Both**: the same behavior change affects agents internally and users externally.
|
|
493
|
+
- **None**: no user-facing or agent-facing guidance changed.
|
|
494
|
+
|
|
495
|
+
`pnpm docs:generate` only covers generated reference pages. Narrative workflow docs in
|
|
496
|
+
`AGENTS.md`, `LUMENFLOW.md`, onboarding docs, and `apps/docs/src/content/docs/**` still need
|
|
497
|
+
manual updates when behavior changes.
|
|
498
|
+
|
|
470
499
|
---
|
|
471
500
|
|
|
472
501
|
## Release
|
|
@@ -240,34 +240,48 @@ The workflow:
|
|
|
240
240
|
1. Installs D2 (`astro-d2` prerequisite)
|
|
241
241
|
2. Builds docs with `pnpm --filter @lumenflow/docs build`
|
|
242
242
|
3. Uploads `apps/docs/dist` as a workflow artifact
|
|
243
|
-
4. Deploys to Vercel when `VERCEL_TOKEN`, `VERCEL_ORG_ID`, and `VERCEL_PROJECT_ID` secrets are configured
|
|
243
|
+
4. Deploys to Vercel when `VERCEL_TOKEN`, `VERCEL_ORG_ID`, and `VERCEL_PROJECT_ID` Actions secrets are configured and valid
|
|
244
|
+
5. Skips deploy cleanly when those secrets are absent, while still preserving the build artifact for inspection
|
|
244
245
|
|
|
245
246
|
### Deployment
|
|
246
247
|
|
|
247
|
-
Production deploy
|
|
248
|
+
Production deploy normally happens through `.github/workflows/docs.yml` on a release tag push. When the workflow reaches the Vercel step successfully, it runs these commands against `apps/docs/`:
|
|
248
249
|
|
|
249
250
|
```bash
|
|
250
|
-
|
|
251
|
-
pnpm build
|
|
252
|
-
vercel --prod
|
|
251
|
+
pnpm dlx vercel pull --yes --environment=production --cwd apps/docs --token "$VERCEL_TOKEN"
|
|
252
|
+
pnpm dlx vercel build --prod --cwd apps/docs --token "$VERCEL_TOKEN"
|
|
253
|
+
pnpm dlx vercel deploy --prebuilt --prod --cwd apps/docs --token "$VERCEL_TOKEN"
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Use a manual Vercel CLI deploy only as a recovery path when the GitHub Actions run needs to be replayed outside a tag push or `workflow_dispatch`. In that case, export the same values used by Actions:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
export VERCEL_TOKEN=<token>
|
|
260
|
+
export VERCEL_ORG_ID=<team-id>
|
|
261
|
+
export VERCEL_PROJECT_ID=<project-id>
|
|
253
262
|
```
|
|
254
263
|
|
|
255
264
|
### When to Deploy
|
|
256
265
|
|
|
266
|
+
- Release tags (`v*`) automatically trigger the docs workflow
|
|
267
|
+
- Use `workflow_dispatch` when you need to rebuild or redeploy docs without cutting a new release tag
|
|
257
268
|
- After any changes to `apps/docs/src/content/docs/**`
|
|
258
269
|
- After version bumps (to update any version references)
|
|
259
270
|
- After adding new features documented in Starlight
|
|
260
271
|
|
|
261
|
-
###
|
|
272
|
+
### Required Secrets
|
|
273
|
+
|
|
274
|
+
- **`VERCEL_TOKEN`**: deploy token used by the workflow's Vercel CLI steps
|
|
275
|
+
- **`VERCEL_ORG_ID`**: Vercel team/org that owns the production docs project
|
|
276
|
+
- **`VERCEL_PROJECT_ID`**: Vercel project that serves `lumenflow.dev`
|
|
262
277
|
|
|
263
|
-
|
|
264
|
-
- **Domain**: lumenflow.dev
|
|
265
|
-
- **Team**: lumenflow
|
|
278
|
+
Treat those GitHub Actions secrets as the source of truth for automated docs deploys. Do not rely on the repo-root `.vercel/project.json` for docs releases; it may be linked to a different Vercel project such as the monorepo preview app.
|
|
266
279
|
|
|
267
280
|
### Important Notes
|
|
268
281
|
|
|
269
282
|
- **No private repo links**: Starlight docs are public; never link to `github.com/hellmai/lumenflow`
|
|
270
283
|
- **Link to npm**: Use <https://www.npmjs.com/org/lumenflow> for package links
|
|
284
|
+
- **Secret failures are explicit**: if `VERCEL_TOKEN` is invalid, the workflow will fail at `vercel pull`; rotating the Actions secret and rerunning `docs.yml` is the correct fix
|
|
271
285
|
|
|
272
286
|
---
|
|
273
287
|
|
|
@@ -394,7 +408,7 @@ pnpm release --release-version 1.3.0 --skip-publish --dry-run
|
|
|
394
408
|
pnpm release --release-version 1.3.0 --skip-publish
|
|
395
409
|
```
|
|
396
410
|
|
|
397
|
-
This handles version bump and tag locally; GitHub Actions handles npm publish,
|
|
411
|
+
This handles version bump and tag locally; GitHub Actions handles npm publish, GitHub release creation, and the docs build/deploy path when the Vercel secrets are configured correctly.
|
|
398
412
|
|
|
399
413
|
### Release Steps (Manual)
|
|
400
414
|
|
|
@@ -423,16 +437,21 @@ If you need more control:
|
|
|
423
437
|
gh release view v1.3.0
|
|
424
438
|
```
|
|
425
439
|
|
|
426
|
-
4. **Verify docs workflow** (if docs changed)
|
|
440
|
+
4. **Verify docs workflow** (if docs changed or the release should refresh public docs)
|
|
427
441
|
|
|
428
442
|
```bash
|
|
429
443
|
gh run list --workflow=docs.yml --limit 1
|
|
430
444
|
```
|
|
431
445
|
|
|
432
|
-
5. **
|
|
446
|
+
5. **Manual Starlight recovery deploy** (only if you need to replay deploy outside the normal workflow)
|
|
433
447
|
|
|
434
448
|
```bash
|
|
435
|
-
|
|
449
|
+
export VERCEL_TOKEN=<token>
|
|
450
|
+
export VERCEL_ORG_ID=<team-id>
|
|
451
|
+
export VERCEL_PROJECT_ID=<project-id>
|
|
452
|
+
pnpm dlx vercel pull --yes --environment=production --cwd apps/docs --token "$VERCEL_TOKEN"
|
|
453
|
+
pnpm dlx vercel build --prod --cwd apps/docs --token "$VERCEL_TOKEN"
|
|
454
|
+
pnpm dlx vercel deploy --prebuilt --prod --cwd apps/docs --token "$VERCEL_TOKEN"
|
|
436
455
|
```
|
|
437
456
|
|
|
438
457
|
### After Release
|
|
@@ -445,13 +464,13 @@ If you need more control:
|
|
|
445
464
|
|
|
446
465
|
## Keeping Components in Sync
|
|
447
466
|
|
|
448
|
-
| Change Type | npm | Docs
|
|
449
|
-
| ---------------- | ------------- |
|
|
450
|
-
| Bug fix in CLI | Tag + publish | Auto\*
|
|
451
|
-
| New CLI command | Tag + publish | Auto\*
|
|
452
|
-
| Pack changes | Tag + publish | No
|
|
453
|
-
| Docs-only update | No |
|
|
454
|
-
| Full release | Tag + publish |
|
|
467
|
+
| Change Type | npm | Docs | Packs |
|
|
468
|
+
| ---------------- | ------------- | ------------------------------- | ------- |
|
|
469
|
+
| Bug fix in CLI | Tag + publish | Auto\* | No |
|
|
470
|
+
| New CLI command | Tag + publish | Auto\* | No |
|
|
471
|
+
| Pack changes | Tag + publish | No | Publish |
|
|
472
|
+
| Docs-only update | No | `workflow_dispatch` + deploy | No |
|
|
473
|
+
| Full release | Tag + publish | Tag-triggered workflow + deploy | Publish |
|
|
455
474
|
|
|
456
475
|
\* CLI/config reference docs regenerate automatically during `wu:done` when trigger files change. See [Automatic Docs Generation](./docs-generation.md).
|
|
457
476
|
|
|
@@ -467,9 +486,10 @@ If you need more control:
|
|
|
467
486
|
|
|
468
487
|
### Vercel deploy fails
|
|
469
488
|
|
|
470
|
-
1. Check build locally: `
|
|
471
|
-
2. Check
|
|
472
|
-
3. Check
|
|
489
|
+
1. Check build locally: `pnpm --filter @lumenflow/docs build`
|
|
490
|
+
2. Check the `VERCEL_TOKEN` GitHub Actions secret is valid; an invalid token fails at `vercel pull`
|
|
491
|
+
3. Check `VERCEL_ORG_ID` and `VERCEL_PROJECT_ID` still target the production docs project for `lumenflow.dev`
|
|
492
|
+
4. If you must replay deploy locally, export the same `VERCEL_*` values and run the same `vercel pull/build/deploy` sequence used in `docs.yml`
|
|
473
493
|
|
|
474
494
|
---
|
|
475
495
|
|
|
@@ -197,13 +197,14 @@ LUMENFLOW_CLOUD=1 pnpm wu:claim --id WU-XXXX --lane "Lane Name"
|
|
|
197
197
|
These are the mistakes agents make most often. Memorize these before reading anything else:
|
|
198
198
|
|
|
199
199
|
1. **wu:done deletes the worktree.** After it completes, your shell CWD is invalid. Immediately `cd` back to the project root.
|
|
200
|
-
2. **When wu:done reports branch drift
|
|
200
|
+
2. **When wu:done reports branch drift, a non-fast-forward error, or patch-equivalent local-main catch-up, rerun it from main first.** It auto-rebases the lane branch when it can and now reconciles patch-equivalent local-main divergence after atomic push. Never manually `git rebase` on main.
|
|
201
201
|
3. **Always run `--help` before first use of any command.** Don't guess flags — 30 seconds reading help saves 5 minutes of failed attempts.
|
|
202
202
|
4. **Never `pnpm update @lumenflow/*` directly.** Use `pnpm lumenflow:upgrade --latest` (uses micro-worktree isolation).
|
|
203
203
|
5. **State files are auto-generated.** Never manually edit `wu-events.jsonl`, `backlog.md`, or `status.md` — lifecycle commands manage them.
|
|
204
|
-
6. **wu:edit
|
|
204
|
+
6. **Structural `wu:edit` changes require a clean worktree.** Metadata-only edits such as `--notes`, `--acceptance`, and scoped test-path updates can run on a dirty worktree, but scope-changing edits like `--code-paths`, `--remove-code-paths`, `--rename-code-paths`, `--lane`, or `--plan` still require a clean state.
|
|
205
205
|
7. **Don't edit on main then stash to a worktree.** If a hook blocks you on main, that means you need a WU. Create one and work in the worktree from the start.
|
|
206
206
|
8. **Don't modify another agent's WU to free a lane.** `wu:block`, `wu:unblock`, `wu:release`, and `wu:recover` enforce ownership guards (v3.19.0). If you hit a `SESSION OWNERSHIP VIOLATION`, wait for the owning WU to complete or block itself — never use `--override-owner` without explicit human instruction.
|
|
207
|
+
9. **Behavior changes need a docs decision.** Update internal docs, Starlight docs, or both when behavior changes. Generated reference docs alone do not cover narrative workflow changes.
|
|
207
208
|
|
|
208
209
|
---
|
|
209
210
|
|
|
@@ -289,7 +290,7 @@ When gates fail, read the error and fix it. Common failures and fixes:
|
|
|
289
290
|
|
|
290
291
|
| Failure | Cause | Fix |
|
|
291
292
|
| -------------- | ----------------------- | -------------------------------------- |
|
|
292
|
-
| `format:check` |
|
|
293
|
+
| `format:check` | Prettier formatting | `pnpm prettier --write <file>` |
|
|
293
294
|
| `backlog-sync` | WU missing from backlog | Regenerate backlog or add WU reference |
|
|
294
295
|
| `typecheck` | TypeScript errors | Fix the type errors |
|
|
295
296
|
| `lint` | ESLint violations | `pnpm lint --fix` or manual fix |
|
|
@@ -461,18 +462,26 @@ Do not use `git stash`, switch local main, or otherwise mutate main just to prov
|
|
|
461
462
|
|
|
462
463
|
### Scenario 6: wu:done reports branch drift or a non-fast-forward error
|
|
463
464
|
|
|
464
|
-
**Cause:** Another agent or process pushed to main between your fetch and push (race condition)
|
|
465
|
+
**Cause:** Another agent or process pushed to main between your fetch and push (race condition), or
|
|
466
|
+
your local `main` needs to catch up after the atomic push path.
|
|
465
467
|
|
|
466
|
-
**Fix:** Rerun `wu:done` from main. It has built-in auto-rebase for
|
|
468
|
+
**Fix:** Rerun `wu:done` from main first. It has built-in lane auto-rebase for branch drift and
|
|
469
|
+
automatic local-main reconciliation for patch-equivalent divergence after a successful atomic push.
|
|
470
|
+
If the rerun still fails with a real conflict, resolve the conflict in the worktree, rerun
|
|
471
|
+
`wu:prep` if needed, then return to main and rerun `wu:done`.
|
|
467
472
|
|
|
468
473
|
```bash
|
|
469
474
|
# WRONG - never manually rebase main
|
|
470
475
|
git rebase origin/main # DON'T DO THIS
|
|
471
476
|
|
|
472
|
-
# RIGHT - just rerun the command
|
|
477
|
+
# RIGHT - just rerun the command from main first
|
|
473
478
|
pnpm wu:done --id WU-XXX
|
|
474
479
|
```
|
|
475
480
|
|
|
481
|
+
If the rerun still reports a true local-main mismatch after a completed atomic push, treat that as
|
|
482
|
+
an abnormal recovery case and use the surfaced recovery guidance or `pnpm wu:recover --id WU-XXX`
|
|
483
|
+
instead of rebasing `main` manually.
|
|
484
|
+
|
|
476
485
|
---
|
|
477
486
|
|
|
478
487
|
## Delegating Sub-Agents with wu:brief / wu:delegate
|
|
@@ -597,6 +606,7 @@ Before reporting a WU complete, verify:
|
|
|
597
606
|
- [ ] `pnpm wu:done --id WU-XXX` ran successfully
|
|
598
607
|
- [ ] Output shows "Marked done, pushed, and cleaned up"
|
|
599
608
|
- [ ] Worktree was removed (check `ls worktrees/`)
|
|
609
|
+
- [ ] Required docs updates were made, or you can explicitly justify `Internal docs`, `Starlight docs`, `Both`, or `None`
|
|
600
610
|
|
|
601
611
|
---
|
|
602
612
|
|
|
@@ -66,7 +66,8 @@ cd /path/to/main && pnpm wu:done --id WU-XXX
|
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
If `wu:done` reports branch drift, parallel completions, or a non-fast-forward push, rerun it from
|
|
69
|
-
main. It auto-rebases
|
|
69
|
+
main. It auto-rebases the lane branch when possible and also catches up patch-equivalent local-main
|
|
70
|
+
divergence after atomic push. Do not manually rebase `main`.
|
|
70
71
|
|
|
71
72
|
---
|
|
72
73
|
|
|
@@ -131,7 +132,7 @@ Feature WUs **must** include `spec_refs` (use `pnpm wu:create --plan` if the pla
|
|
|
131
132
|
### "non-fast-forward" or "branch is behind main"
|
|
132
133
|
|
|
133
134
|
If `wu:done` reports branch drift or a non-fast-forward push, another completion landed while your
|
|
134
|
-
WU was in progress.
|
|
135
|
+
WU was in progress or your local `main` needs to catch up after the atomic push path.
|
|
135
136
|
|
|
136
137
|
```bash
|
|
137
138
|
# Retry from main first
|
|
@@ -142,6 +143,9 @@ pnpm wu:done --id WU-XXX
|
|
|
142
143
|
- If the rerun succeeds, you are done.
|
|
143
144
|
- If the rerun reports an auto-rebase conflict, return to the worktree, resolve the conflict there,
|
|
144
145
|
rerun `pnpm wu:prep --id WU-XXX` if needed, then retry `wu:done` from main.
|
|
146
|
+
- If the rerun still reports a true local-main mismatch after a completed atomic push, stop and use
|
|
147
|
+
the surfaced recovery guidance or `pnpm wu:recover --id WU-XXX` rather than manually rebasing
|
|
148
|
+
`main`.
|
|
145
149
|
- Do **not** manually `git rebase` the main checkout.
|
|
146
150
|
|
|
147
151
|
---
|