@lumenflow/cli 2.10.0 → 2.12.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/README.md +28 -18
- package/dist/__tests__/commands.test.js +198 -2
- package/dist/__tests__/gates-integration-tests.test.js +112 -0
- package/dist/__tests__/init-docs-structure.test.js +33 -0
- package/dist/__tests__/init.test.js +225 -0
- package/dist/__tests__/initiative-add-wu.test.js +71 -1
- package/dist/__tests__/no-beacon-references-docs.test.js +30 -0
- package/dist/__tests__/no-beacon-references.test.js +39 -0
- package/dist/__tests__/safe-git.test.js +4 -4
- package/dist/__tests__/wu-create-required-fields.test.js +22 -0
- package/dist/__tests__/wu-create.test.js +121 -0
- package/dist/__tests__/wu-done-docs-only-policy.test.js +20 -0
- package/dist/__tests__/wu-prep-default-exec.test.js +35 -0
- package/dist/__tests__/wu-prep.test.js +32 -0
- package/dist/__tests__/wu-validate.test.js +36 -0
- package/dist/agent-issues-query.js +1 -0
- package/dist/agent-issues-query.js.map +1 -0
- package/dist/agent-log-issue.js +1 -0
- package/dist/agent-log-issue.js.map +1 -0
- package/dist/agent-session-end.js +1 -0
- package/dist/agent-session-end.js.map +1 -0
- package/dist/agent-session.js +1 -0
- package/dist/agent-session.js.map +1 -0
- package/dist/backlog-prune.js +2 -0
- package/dist/backlog-prune.js.map +1 -0
- package/dist/cli-entry-point.js +1 -0
- package/dist/cli-entry-point.js.map +1 -0
- package/dist/commands/integrate.js +1 -0
- package/dist/commands/integrate.js.map +1 -0
- package/dist/commands.js +56 -77
- package/dist/commands.js.map +1 -0
- package/dist/deps-add.js +1 -0
- package/dist/deps-add.js.map +1 -0
- package/dist/deps-remove.js +1 -0
- package/dist/deps-remove.js.map +1 -0
- package/dist/docs-sync.js +1 -0
- package/dist/docs-sync.js.map +1 -0
- package/dist/doctor.js +1 -0
- package/dist/doctor.js.map +1 -0
- package/dist/file-delete.js +1 -0
- package/dist/file-delete.js.map +1 -0
- package/dist/file-edit.js +1 -0
- package/dist/file-edit.js.map +1 -0
- package/dist/file-read.js +1 -0
- package/dist/file-read.js.map +1 -0
- package/dist/file-write.js +1 -0
- package/dist/file-write.js.map +1 -0
- package/dist/flow-bottlenecks.js +1 -0
- package/dist/flow-bottlenecks.js.map +1 -0
- package/dist/flow-report.js +1 -0
- package/dist/flow-report.js.map +1 -0
- package/dist/gates.js +32 -20
- package/dist/gates.js.map +1 -0
- package/dist/git-branch.js +1 -0
- package/dist/git-branch.js.map +1 -0
- package/dist/git-diff.js +1 -0
- package/dist/git-diff.js.map +1 -0
- package/dist/git-log.js +1 -0
- package/dist/git-log.js.map +1 -0
- package/dist/git-status.js +1 -0
- package/dist/git-status.js.map +1 -0
- package/dist/guard-locked.js +1 -0
- package/dist/guard-locked.js.map +1 -0
- package/dist/guard-main-branch.js +1 -0
- package/dist/guard-main-branch.js.map +1 -0
- package/dist/guard-worktree-commit.js +1 -0
- package/dist/guard-worktree-commit.js.map +1 -0
- package/dist/hooks/auto-checkpoint-utils.js +52 -0
- package/dist/hooks/auto-checkpoint-utils.js.map +1 -0
- package/dist/hooks/enforcement-checks.js +1 -0
- package/dist/hooks/enforcement-checks.js.map +1 -0
- package/dist/hooks/enforcement-generator.js +185 -1
- package/dist/hooks/enforcement-generator.js.map +1 -0
- package/dist/hooks/enforcement-sync.js +91 -1
- package/dist/hooks/enforcement-sync.js.map +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/init.js +176 -36
- package/dist/init.js.map +1 -0
- package/dist/initiative-add-wu.js +180 -59
- package/dist/initiative-add-wu.js.map +1 -0
- package/dist/initiative-bulk-assign-wus.js +3 -1
- package/dist/initiative-bulk-assign-wus.js.map +1 -0
- package/dist/initiative-create.js +1 -0
- package/dist/initiative-create.js.map +1 -0
- package/dist/initiative-edit.js +67 -32
- package/dist/initiative-edit.js.map +1 -0
- package/dist/initiative-list.js +1 -0
- package/dist/initiative-list.js.map +1 -0
- package/dist/initiative-plan.js +1 -0
- package/dist/initiative-plan.js.map +1 -0
- package/dist/initiative-remove-wu.js +1 -0
- package/dist/initiative-remove-wu.js.map +1 -0
- package/dist/initiative-status.js +1 -0
- package/dist/initiative-status.js.map +1 -0
- package/dist/lane-health.js +1 -0
- package/dist/lane-health.js.map +1 -0
- package/dist/lane-suggest.js +1 -0
- package/dist/lane-suggest.js.map +1 -0
- package/dist/lumenflow-upgrade.js +1 -0
- package/dist/lumenflow-upgrade.js.map +1 -0
- package/dist/mem-checkpoint.js +1 -0
- package/dist/mem-checkpoint.js.map +1 -0
- package/dist/mem-cleanup.js +114 -1
- package/dist/mem-cleanup.js.map +1 -0
- package/dist/mem-context.js +1 -0
- package/dist/mem-context.js.map +1 -0
- package/dist/mem-create.js +1 -0
- package/dist/mem-create.js.map +1 -0
- package/dist/mem-delete.js +1 -0
- package/dist/mem-delete.js.map +1 -0
- package/dist/mem-export.js +1 -0
- package/dist/mem-export.js.map +1 -0
- package/dist/mem-inbox.js +1 -0
- package/dist/mem-inbox.js.map +1 -0
- package/dist/mem-index.js +1 -0
- package/dist/mem-index.js.map +1 -0
- package/dist/mem-init.js +1 -0
- package/dist/mem-init.js.map +1 -0
- package/dist/mem-profile.js +1 -0
- package/dist/mem-profile.js.map +1 -0
- package/dist/mem-promote.js +1 -0
- package/dist/mem-promote.js.map +1 -0
- package/dist/mem-ready.js +1 -0
- package/dist/mem-ready.js.map +1 -0
- package/dist/mem-recover.js +1 -0
- package/dist/mem-recover.js.map +1 -0
- package/dist/mem-signal.js +12 -1
- package/dist/mem-signal.js.map +1 -0
- package/dist/mem-start.js +1 -0
- package/dist/mem-start.js.map +1 -0
- package/dist/mem-summarize.js +1 -0
- package/dist/mem-summarize.js.map +1 -0
- package/dist/mem-triage.js +2 -1
- package/dist/mem-triage.js.map +1 -0
- package/dist/merge-block.js +1 -0
- package/dist/merge-block.js.map +1 -0
- package/dist/metrics-cli.js +1 -0
- package/dist/metrics-cli.js.map +1 -0
- package/dist/metrics-snapshot.js +1 -0
- package/dist/metrics-snapshot.js.map +1 -0
- package/dist/onboarding-smoke-test.js +1 -0
- package/dist/onboarding-smoke-test.js.map +1 -0
- package/dist/orchestrate-init-status.js +1 -0
- package/dist/orchestrate-init-status.js.map +1 -0
- package/dist/orchestrate-initiative.js +20 -1
- package/dist/orchestrate-initiative.js.map +1 -0
- package/dist/orchestrate-monitor.js +1 -0
- package/dist/orchestrate-monitor.js.map +1 -0
- package/dist/plan-create.js +1 -0
- package/dist/plan-create.js.map +1 -0
- package/dist/plan-edit.js +1 -0
- package/dist/plan-edit.js.map +1 -0
- package/dist/plan-link.js +1 -0
- package/dist/plan-link.js.map +1 -0
- package/dist/plan-promote.js +1 -0
- package/dist/plan-promote.js.map +1 -0
- package/dist/public-manifest.js +773 -0
- package/dist/public-manifest.js.map +1 -0
- package/dist/release.js +3 -2
- package/dist/release.js.map +1 -0
- package/dist/rotate-progress.js +2 -1
- package/dist/rotate-progress.js.map +1 -0
- package/dist/session-coordinator.js +1 -0
- package/dist/session-coordinator.js.map +1 -0
- package/dist/shared-validators.js +78 -0
- package/dist/shared-validators.js.map +1 -0
- package/dist/signal-cleanup.js +1 -0
- package/dist/signal-cleanup.js.map +1 -0
- package/dist/spawn-list.js +1 -0
- package/dist/spawn-list.js.map +1 -0
- package/dist/state-bootstrap.js +1 -0
- package/dist/state-bootstrap.js.map +1 -0
- package/dist/state-cleanup.js +1 -0
- package/dist/state-cleanup.js.map +1 -0
- package/dist/state-doctor-fix.js +37 -1
- package/dist/state-doctor-fix.js.map +1 -0
- package/dist/state-doctor.js +11 -6
- package/dist/state-doctor.js.map +1 -0
- package/dist/sync-templates.js +1 -0
- package/dist/sync-templates.js.map +1 -0
- package/dist/trace-gen.js +1 -0
- package/dist/trace-gen.js.map +1 -0
- package/dist/validate-agent-skills.js +1 -0
- package/dist/validate-agent-skills.js.map +1 -0
- package/dist/validate-agent-sync.js +1 -0
- package/dist/validate-agent-sync.js.map +1 -0
- package/dist/validate-backlog-sync.js +1 -0
- package/dist/validate-backlog-sync.js.map +1 -0
- package/dist/validate-skills-spec.js +1 -0
- package/dist/validate-skills-spec.js.map +1 -0
- package/dist/validate.js +1 -0
- package/dist/validate.js.map +1 -0
- package/dist/wu-block.js +1 -0
- package/dist/wu-block.js.map +1 -0
- package/dist/wu-claim-repair-guidance.js +10 -0
- package/dist/wu-claim-repair-guidance.js.map +1 -0
- package/dist/wu-claim.js +40 -0
- package/dist/wu-claim.js.map +1 -0
- package/dist/wu-cleanup.js +2 -1
- package/dist/wu-cleanup.js.map +1 -0
- package/dist/wu-create.js +91 -25
- package/dist/wu-create.js.map +1 -0
- package/dist/wu-delete.js +3 -2
- package/dist/wu-delete.js.map +1 -0
- package/dist/wu-deps.js +2 -1
- package/dist/wu-deps.js.map +1 -0
- package/dist/wu-done-auto-cleanup.js +1 -0
- package/dist/wu-done-auto-cleanup.js.map +1 -0
- package/dist/wu-done-check.js +1 -0
- package/dist/wu-done-check.js.map +1 -0
- package/dist/wu-done-decay.js +88 -0
- package/dist/wu-done-decay.js.map +1 -0
- package/dist/wu-done.js +75 -18
- package/dist/wu-done.js.map +1 -0
- package/dist/wu-edit.js +2 -1
- package/dist/wu-edit.js.map +1 -0
- package/dist/wu-infer-lane.js +1 -0
- package/dist/wu-infer-lane.js.map +1 -0
- package/dist/wu-preflight.js +1 -0
- package/dist/wu-preflight.js.map +1 -0
- package/dist/wu-prep.js +105 -9
- package/dist/wu-prep.js.map +1 -0
- package/dist/wu-proto.js +12 -9
- package/dist/wu-proto.js.map +1 -0
- package/dist/wu-prune.js +1 -0
- package/dist/wu-prune.js.map +1 -0
- package/dist/wu-recover.js +54 -2
- package/dist/wu-recover.js.map +1 -0
- package/dist/wu-release.js +2 -1
- package/dist/wu-release.js.map +1 -0
- package/dist/wu-repair.js +1 -0
- package/dist/wu-repair.js.map +1 -0
- package/dist/wu-spawn-completion.js +1 -0
- package/dist/wu-spawn-completion.js.map +1 -0
- package/dist/wu-spawn.js +3 -2
- package/dist/wu-spawn.js.map +1 -0
- package/dist/wu-status.js +1 -0
- package/dist/wu-status.js.map +1 -0
- package/dist/wu-unblock.js +1 -0
- package/dist/wu-unblock.js.map +1 -0
- package/dist/wu-unlock-lane.js +1 -0
- package/dist/wu-unlock-lane.js.map +1 -0
- package/dist/wu-validate.js +58 -9
- package/dist/wu-validate.js.map +1 -0
- package/package.json +11 -21
- package/templates/core/.husky/pre-commit.template +5 -5
- package/templates/core/.mcp.json.template +8 -0
- package/templates/core/LUMENFLOW.md.template +2 -2
- package/templates/core/ai/onboarding/agent-safety-card.md.template +6 -6
- package/templates/core/ai/onboarding/lumenflow-force-usage.md.template +4 -4
- package/templates/core/ai/onboarding/vendor-support.md.template +73 -0
- package/templates/core/scripts/safe-git.template +29 -0
package/dist/init.js
CHANGED
|
@@ -21,6 +21,8 @@ import { updateMergeBlock } from './merge-block.js';
|
|
|
21
21
|
import { isMainBranch, isInWorktree } from '@lumenflow/core/dist/core/worktree-guard.js';
|
|
22
22
|
// WU-1386: Import doctor for auto-run after init
|
|
23
23
|
import { runDoctorForInit } from './doctor.js';
|
|
24
|
+
// WU-1433: Import public manifest to derive scripts (no hardcoded subset)
|
|
25
|
+
import { getPublicManifest } from './public-manifest.js';
|
|
24
26
|
/**
|
|
25
27
|
* WU-1085: CLI option definitions for init command
|
|
26
28
|
* WU-1171: Added --merge and --client options
|
|
@@ -699,12 +701,22 @@ pnpm wu:done --id WU-XXX
|
|
|
699
701
|
`;
|
|
700
702
|
// Template for .aider.conf.yml
|
|
701
703
|
const AIDER_CONF_TEMPLATE = `# Aider Configuration for LumenFlow Projects\n# See LUMENFLOW.md for workflow documentation\n\nmodel: gpt-4-turbo\nauto-commits: false\ndirty-commits: false\n\nread:\n - LUMENFLOW.md\n - .lumenflow/constraints.md\n`;
|
|
704
|
+
// WU-1413: Template for .mcp.json (MCP server configuration for Claude Code)
|
|
705
|
+
const MCP_JSON_TEMPLATE = `{
|
|
706
|
+
"mcpServers": {
|
|
707
|
+
"lumenflow": {
|
|
708
|
+
"command": "npx",
|
|
709
|
+
"args": ["@lumenflow/mcp"]
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
`;
|
|
702
714
|
// Template for docs/04-operations/tasks/backlog.md
|
|
703
715
|
const BACKLOG_TEMPLATE = `---\nsections:\n ready:\n heading: '## 🚀 Ready (pull from here)'\n insertion: after_heading_blank_line\n in_progress:\n heading: '## 🔧 In progress'\n insertion: after_heading_blank_line\n blocked:\n heading: '## ⛔ Blocked'\n insertion: after_heading_blank_line\n done:\n heading: '## ✅ Done'\n insertion: after_heading_blank_line\n---\n\n# Backlog (single source of truth)\n\n## 🚀 Ready (pull from here)\n\n(No items ready)\n\n## 🔧 In progress\n\n(No items in progress)\n\n## ⛔ Blocked\n\n(No items blocked)\n\n## ✅ Done\n\n(No items completed yet)\n`;
|
|
704
716
|
// Template for docs/04-operations/tasks/status.md
|
|
705
717
|
const STATUS_TEMPLATE = `# Status (active work)\n\n## In Progress\n\n(No items in progress)\n\n## Blocked\n\n(No items blocked)\n\n## Completed\n\n(No items completed yet)\n`;
|
|
706
|
-
// Template for docs
|
|
707
|
-
const WU_TEMPLATE_YAML = `# Work Unit Template (LumenFlow WU Schema)\n#\n# Copy this template when creating new WUs. Fill in all required fields and\n# remove optional fields if not needed.\n#\n# If you used "lumenflow init --full", this template lives at:\n#
|
|
718
|
+
// Template for docs tasks WU template YAML (scaffolded to {{DOCS_TASKS_PATH}}/templates/wu-template.yaml)
|
|
719
|
+
const WU_TEMPLATE_YAML = `# Work Unit Template (LumenFlow WU Schema)\n#\n# Copy this template when creating new WUs. Fill in all required fields and\n# remove optional fields if not needed.\n#\n# If you used "lumenflow init --full", this template lives at:\n# {{DOCS_TASKS_PATH}}/templates/wu-template.yaml\n\n# Required: Unique work unit identifier (format: WU-NNN)\nid: WU-XXX\n\n# Required: Short, descriptive title (max 80 chars)\ntitle: 'Your WU title here'\n\n# Required: Lane (Parent: Sublane format)\nlane: 'Framework: CLI'\n\n# Required: Type of work\ntype: 'feature' # feature | bug | documentation | process | tooling | chore | refactor\n\n# Required: Current status\nstatus: 'ready' # ready | in_progress | blocked | done | cancelled\n\n# Required: Priority\npriority: P2 # P0 | P1 | P2 | P3\n\n# Required: Creation date (YYYY-MM-DD)\ncreated: {{DATE}}\n\n# Required: Owner/assignee (email)\nassigned_to: 'unassigned@example.com'\n\n# Required: Description\ndescription: |\n Context: ...\n Problem: ...\n Solution: ...\n\n# Required: Acceptance criteria (testable, binary)\nacceptance:\n - Criterion 1 (specific, measurable, testable)\n - Criterion 2 (binary pass/fail)\n - Documentation updated\n\n# Required: References to plans/specs (required for type: feature)\n# Tip: use pnpm wu:create --plan to generate a plan stub at lumenflow://plans/WU-XXX-plan.md\nspec_refs:\n - lumenflow://plans/WU-XXX-plan.md\n\n# Required: Code files changed or created (empty only for docs/process WUs)\n# Docs-only WUs should use docs/ or *.md paths to avoid docs-only gate failures.\ncode_paths:\n - path/to/file.ts\n\n# Required: Test paths (at least one of manual/unit/e2e/integration for non-doc WUs)\ntests:\n manual:\n - Manual check: Verify behavior or docs output\n unit:\n - path/to/test.test.ts\n e2e: []\n integration: []\n\n# Required: Exposure level\nexposure: 'backend-only' # ui | api | backend-only | documentation\n\n# Optional: User journey (recommended for ui/api)\n# user_journey: |\n# User navigates to ...\n# User performs ...\n\n# Optional: UI pairing WUs (for api exposure)\n# ui_pairing_wus:\n# - WU-1234\n\n# Optional: Navigation path (required when exposure=ui and no page file)\n# navigation_path: '/settings'\n\n# Required: Deliverable artifacts (stamps, docs, etc.)\nartifacts:\n - .lumenflow/stamps/WU-XXX.done\n\n# Optional: Dependencies (other WUs that must complete first)\ndependencies: []\n\n# Optional: Risks\nrisks:\n - Risk 1\n\n# Optional: Notes (required by spec linter)\nnotes: 'Implementation notes, rollout context, or plan summary.'\n\n# Optional: Requires human review\nrequires_review: false\n\n# Optional: Claimed mode (worktree or branch-only)\n# Automatically set by wu:claim, usually don't need to specify\n# claimed_mode: worktree\n\n# Optional: Assigned to (email of current claimant)\n# Automatically set by wu:claim\n# assigned_to: engineer@example.com\n\n# Optional: Locked status (prevents concurrent edits)\n# Automatically set by wu:claim and wu:done\n# locked: false\n\n# Optional: Completion date (ISO 8601 format)\n# Automatically set by wu:done\n# completed: 2025-10-23\n\n# Optional: Completion notes (added by wu:done)\n# completion_notes: |\n# Additional notes added during wu:done.\n# Any deviations from original plan.\n# Lessons learned.\n\n# ============================================================================\n# GOVERNANCE BLOCK (WU Schema v2.0)\n# ============================================================================\n# Optional: COS governance rules that apply to this WU\n# Only include if this WU needs specific governance enforcement\n\n# governance:\n# # Rules that apply to this WU (evaluated during cos:gates)\n# rules:\n# - rule_id: UPAIN-01\n# satisfied: false # Initially false, set true when evidence provided\n# evidence:\n# - type: link\n# value: docs/product/voc/feature-user-pain.md\n# description: "Voice of Customer analysis showing user pain"\n# notes: |\n# VOC analysis shows 40% of support tickets request this feature.\n# Average time wasted: 15min/user/week.\n#\n# - rule_id: CASH-03\n# satisfied: false\n# evidence:\n# - type: link\n# value: docs/finance/spend-reviews/2025-10-cloud-infra.md\n# description: "Spend review for £1200/month cloud infrastructure"\n# - type: approval\n# value: owner@example.com\n# description: "Owner approval for spend commitment"\n# notes: |\n# New cloud infrastructure commitment: £1200/month for 12 months.\n# ROI: Reduces latency by 50%, improves user retention.\n#\n# # Gate checks (enforced by cos-gates.ts)\n# gates:\n# narrative: "pending" # Status: pending, passed, skipped, failed\n# finance: "pending"\n#\n# # Exemptions (only if rule doesn't apply)\n# exemptions:\n# - rule_id: FAIR-01\n# reason: "No user-facing pricing changes in this WU"\n# approved_by: product-owner@example.com\n# approved_at: 2025-10-23\n\n# ============================================================================\n# USAGE NOTES\n# ============================================================================\n#\n# 1. Remove this entire governance block if no COS rules apply to your WU\n# 2. Only include rules that require enforcement (not all rules apply to all WUs)\n# 3. Evidence types: link:, metric:, screenshot:, approval:\n# 4. Gates are checked during wu:done (before merge)\n# 5. Exemptions require approval from rule owner\n#\n# For more details, see:\n# - {{DOCS_OPERATIONS_PATH}}/_frameworks/cos/system-prompt-v1.3.md\n# - {{DOCS_OPERATIONS_PATH}}/_frameworks/cos/evidence-format.md\n`;
|
|
708
720
|
// Template for .lumenflow.framework.yaml
|
|
709
721
|
const FRAMEWORK_HINT_TEMPLATE = `# LumenFlow Framework Hint\n# Generated by: lumenflow init --framework {{FRAMEWORK_NAME}}\n\nframework: "{{FRAMEWORK_NAME}}"\nslug: "{{FRAMEWORK_SLUG}}"\n`;
|
|
710
722
|
// Template for docs/04-operations/_frameworks/<framework>/README.md
|
|
@@ -1162,7 +1174,7 @@ If same error happens 3 times:
|
|
|
1162
1174
|
|
|
1163
1175
|
\`\`\`bash
|
|
1164
1176
|
# Check lane availability
|
|
1165
|
-
cat
|
|
1177
|
+
cat {{DOCS_TASKS_PATH}}/status.md
|
|
1166
1178
|
|
|
1167
1179
|
# Claim a WU
|
|
1168
1180
|
pnpm wu:claim --id WU-XXX --lane <Lane>
|
|
@@ -1469,7 +1481,7 @@ LumenFlow uses Work Units (WUs) to track all changes:
|
|
|
1469
1481
|
|
|
1470
1482
|
## Step 5: When Stuck
|
|
1471
1483
|
|
|
1472
|
-
1. Read the WU spec at \`
|
|
1484
|
+
1. Read the WU spec at \`{{DOCS_TASKS_PATH}}/wu/WU-XXX.yaml\`
|
|
1473
1485
|
2. Check [troubleshooting-wu-done.md](troubleshooting-wu-done.md)
|
|
1474
1486
|
3. Review [first-wu-mistakes.md](first-wu-mistakes.md)
|
|
1475
1487
|
|
|
@@ -1591,7 +1603,7 @@ pnpm wu:create \\
|
|
|
1591
1603
|
|
|
1592
1604
|
## After Creation
|
|
1593
1605
|
|
|
1594
|
-
1. Review the created YAML: \`cat
|
|
1606
|
+
1. Review the created YAML: \`cat {{DOCS_TASKS_PATH}}/wu/WU-XXX.yaml\`
|
|
1595
1607
|
2. Claim the WU: \`pnpm wu:claim --id WU-XXX --lane "Lane"\`
|
|
1596
1608
|
3. cd to worktree: \`cd worktrees/<lane>-wu-xxx\`
|
|
1597
1609
|
`;
|
|
@@ -1628,10 +1640,10 @@ pnpm exec lumenflow doctor
|
|
|
1628
1640
|
|
|
1629
1641
|
\`\`\`bash
|
|
1630
1642
|
# Check status board
|
|
1631
|
-
cat
|
|
1643
|
+
cat {{DOCS_TASKS_PATH}}/status.md
|
|
1632
1644
|
|
|
1633
1645
|
# List ready WUs
|
|
1634
|
-
ls
|
|
1646
|
+
ls {{DOCS_TASKS_PATH}}/wu/*.yaml | head -5
|
|
1635
1647
|
\`\`\`
|
|
1636
1648
|
|
|
1637
1649
|
---
|
|
@@ -2364,6 +2376,9 @@ export async function scaffoldProject(targetDir, options) {
|
|
|
2364
2376
|
await createFile(path.join(targetDir, LUMENFLOW_AGENTS_DIR, '.gitkeep'), '', options.force ? 'force' : 'skip', result, targetDir);
|
|
2365
2377
|
// WU-1342: Create .gitignore with required exclusions
|
|
2366
2378
|
await scaffoldGitignore(targetDir, options, result);
|
|
2379
|
+
// WU-1408: Scaffold safe-git wrapper and pre-commit hook
|
|
2380
|
+
// These are core safety components needed for all projects
|
|
2381
|
+
await scaffoldSafetyScripts(targetDir, options, result);
|
|
2367
2382
|
// Optional: full docs scaffolding
|
|
2368
2383
|
if (options.full) {
|
|
2369
2384
|
await scaffoldFullDocs(targetDir, options, result, tokenDefaults);
|
|
@@ -2460,36 +2475,150 @@ ${linesToAdd.join('\n')}
|
|
|
2460
2475
|
await createFile(gitignorePath, GITIGNORE_TEMPLATE, fileMode, result, targetDir);
|
|
2461
2476
|
}
|
|
2462
2477
|
/**
|
|
2463
|
-
* WU-
|
|
2464
|
-
*
|
|
2465
|
-
*
|
|
2466
|
-
* after installing @lumenflow/cli.
|
|
2478
|
+
* WU-1433: Script argument overrides for commands that need extra flags.
|
|
2479
|
+
* Most commands map simply to their binName, but some aliases need arguments.
|
|
2480
|
+
* Key = command name (colon notation), Value = full script command string.
|
|
2467
2481
|
*/
|
|
2468
|
-
const
|
|
2469
|
-
// Core WU lifecycle
|
|
2470
|
-
'wu:claim': 'wu-claim',
|
|
2471
|
-
'wu:done': 'wu-done',
|
|
2472
|
-
'wu:create': 'wu-create',
|
|
2473
|
-
'wu:proto': 'wu-proto', // WU-1359: Prototype WU with relaxed validation
|
|
2474
|
-
'wu:status': 'wu-status',
|
|
2475
|
-
'wu:block': 'wu-block',
|
|
2476
|
-
'wu:unblock': 'wu-unblock',
|
|
2477
|
-
// WU-1342: Additional critical commands
|
|
2478
|
-
'wu:prep': 'wu-prep',
|
|
2479
|
-
'wu:recover': 'wu-recover',
|
|
2480
|
-
'wu:spawn': 'wu-spawn',
|
|
2481
|
-
'wu:validate': 'wu-validate',
|
|
2482
|
-
'wu:infer-lane': 'wu-infer-lane',
|
|
2483
|
-
// Memory commands
|
|
2484
|
-
'mem:init': 'mem-init',
|
|
2485
|
-
'mem:checkpoint': 'mem-checkpoint',
|
|
2486
|
-
'mem:inbox': 'mem-inbox',
|
|
2487
|
-
// Lane commands
|
|
2488
|
-
'lane:suggest': 'lane-suggest',
|
|
2489
|
-
// Gates
|
|
2490
|
-
gates: 'gates',
|
|
2482
|
+
const SCRIPT_ARG_OVERRIDES = {
|
|
2491
2483
|
'gates:docs': 'gates --docs-only',
|
|
2492
2484
|
};
|
|
2485
|
+
/**
|
|
2486
|
+
* WU-1307: LumenFlow scripts to inject into package.json
|
|
2487
|
+
* WU-1342: Expanded to include essential commands
|
|
2488
|
+
* WU-1433: Now derived from the public CLI manifest (WU-1432) instead of
|
|
2489
|
+
* hardcoded list. Ensures all public commands are exposed and avoids drift.
|
|
2490
|
+
*/
|
|
2491
|
+
function generateLumenflowScripts() {
|
|
2492
|
+
const scripts = {};
|
|
2493
|
+
const manifest = getPublicManifest();
|
|
2494
|
+
for (const cmd of manifest) {
|
|
2495
|
+
// Use override if defined, otherwise map to the binary name
|
|
2496
|
+
scripts[cmd.name] = SCRIPT_ARG_OVERRIDES[cmd.name] ?? cmd.binName;
|
|
2497
|
+
}
|
|
2498
|
+
return scripts;
|
|
2499
|
+
}
|
|
2500
|
+
/** WU-1408: Safety script path constants */
|
|
2501
|
+
const SCRIPTS_DIR = 'scripts';
|
|
2502
|
+
const SAFE_GIT_FILE = 'safe-git';
|
|
2503
|
+
const HUSKY_DIR = '.husky';
|
|
2504
|
+
const PRE_COMMIT_FILE = 'pre-commit';
|
|
2505
|
+
const SAFE_GIT_TEMPLATE_PATH = 'core/scripts/safe-git.template';
|
|
2506
|
+
const PRE_COMMIT_TEMPLATE_PATH = 'core/.husky/pre-commit.template';
|
|
2507
|
+
/**
|
|
2508
|
+
* WU-1408: Scaffold safety scripts (safe-git wrapper and pre-commit hook)
|
|
2509
|
+
* These are core safety components needed for LumenFlow enforcement:
|
|
2510
|
+
* - scripts/safe-git: Blocks dangerous git operations (e.g., manual worktree remove)
|
|
2511
|
+
* - .husky/pre-commit: Blocks direct commits to main/master, enforces WU workflow
|
|
2512
|
+
*
|
|
2513
|
+
* Both scripts are scaffolded in all modes (full and minimal) because they are
|
|
2514
|
+
* required for lumenflow-doctor to pass.
|
|
2515
|
+
*/
|
|
2516
|
+
async function scaffoldSafetyScripts(targetDir, options, result) {
|
|
2517
|
+
const fileMode = getFileMode(options);
|
|
2518
|
+
// Scaffold scripts/safe-git
|
|
2519
|
+
const safeGitPath = path.join(targetDir, SCRIPTS_DIR, SAFE_GIT_FILE);
|
|
2520
|
+
try {
|
|
2521
|
+
const safeGitTemplate = loadTemplate(SAFE_GIT_TEMPLATE_PATH);
|
|
2522
|
+
await createExecutableScript(safeGitPath, safeGitTemplate, fileMode, result, targetDir);
|
|
2523
|
+
}
|
|
2524
|
+
catch {
|
|
2525
|
+
// Fallback to hardcoded template if template file not found
|
|
2526
|
+
await createExecutableScript(safeGitPath, SAFE_GIT_TEMPLATE, fileMode, result, targetDir);
|
|
2527
|
+
}
|
|
2528
|
+
// Scaffold .husky/pre-commit
|
|
2529
|
+
const preCommitPath = path.join(targetDir, HUSKY_DIR, PRE_COMMIT_FILE);
|
|
2530
|
+
try {
|
|
2531
|
+
const preCommitTemplate = loadTemplate(PRE_COMMIT_TEMPLATE_PATH);
|
|
2532
|
+
await createExecutableScript(preCommitPath, preCommitTemplate, fileMode, result, targetDir);
|
|
2533
|
+
}
|
|
2534
|
+
catch {
|
|
2535
|
+
// Fallback to hardcoded template if template file not found
|
|
2536
|
+
await createExecutableScript(preCommitPath, PRE_COMMIT_TEMPLATE, fileMode, result, targetDir);
|
|
2537
|
+
}
|
|
2538
|
+
}
|
|
2539
|
+
/**
|
|
2540
|
+
* WU-1408: Fallback safe-git template
|
|
2541
|
+
* Blocks dangerous git operations in LumenFlow environment
|
|
2542
|
+
*/
|
|
2543
|
+
const SAFE_GIT_TEMPLATE = `#!/bin/sh
|
|
2544
|
+
#
|
|
2545
|
+
# safe-git - LumenFlow safety wrapper for git
|
|
2546
|
+
#
|
|
2547
|
+
# Blocks dangerous operations that can corrupt agent state.
|
|
2548
|
+
# For all other commands, passes through to system git.
|
|
2549
|
+
#
|
|
2550
|
+
|
|
2551
|
+
set -e
|
|
2552
|
+
|
|
2553
|
+
# Block 'worktree remove'
|
|
2554
|
+
if [ "$1" = "worktree" ] && [ "$2" = "remove" ]; then
|
|
2555
|
+
echo "" >&2
|
|
2556
|
+
echo "=== LUMENFLOW SAFETY BLOCK ===" >&2
|
|
2557
|
+
echo "" >&2
|
|
2558
|
+
echo "BLOCKED: Manual 'git worktree remove' is unsafe in this environment." >&2
|
|
2559
|
+
echo "" >&2
|
|
2560
|
+
echo "REASON: Manual removal leaves orphan directories and corrupts agent state." >&2
|
|
2561
|
+
echo "" >&2
|
|
2562
|
+
echo "USE INSTEAD:" >&2
|
|
2563
|
+
echo " pnpm wu:done --id <ID> (To complete a task)" >&2
|
|
2564
|
+
echo " pnpm wu:cleanup --id <ID> (To discard a task)" >&2
|
|
2565
|
+
echo "==============================" >&2
|
|
2566
|
+
exit 1
|
|
2567
|
+
fi
|
|
2568
|
+
|
|
2569
|
+
# Pass through to real git
|
|
2570
|
+
exec git "$@"
|
|
2571
|
+
`;
|
|
2572
|
+
/**
|
|
2573
|
+
* WU-1408: Fallback pre-commit template
|
|
2574
|
+
* Blocks direct commits to main/master, allows commits on lane branches
|
|
2575
|
+
* Does NOT run pnpm test (which fails on new projects)
|
|
2576
|
+
*/
|
|
2577
|
+
const PRE_COMMIT_TEMPLATE = `#!/bin/sh
|
|
2578
|
+
#
|
|
2579
|
+
# LumenFlow Pre-Commit Hook
|
|
2580
|
+
#
|
|
2581
|
+
# Enforces worktree discipline by blocking direct commits to main/master.
|
|
2582
|
+
# Does NOT assume pnpm test or any other commands exist.
|
|
2583
|
+
#
|
|
2584
|
+
# Rules:
|
|
2585
|
+
# 1. BLOCK commits to main/master (use WU workflow instead)
|
|
2586
|
+
# 2. ALLOW commits on lane branches (lane/*/wu-*)
|
|
2587
|
+
# 3. ALLOW commits on tmp/* branches (CLI micro-worktrees)
|
|
2588
|
+
#
|
|
2589
|
+
|
|
2590
|
+
# Skip on tmp/* branches (CLI micro-worktrees)
|
|
2591
|
+
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
|
|
2592
|
+
case "$BRANCH" in tmp/*) exit 0 ;; esac
|
|
2593
|
+
|
|
2594
|
+
# Check for force bypass
|
|
2595
|
+
if [ "$LUMENFLOW_FORCE" = "1" ]; then
|
|
2596
|
+
exit 0
|
|
2597
|
+
fi
|
|
2598
|
+
|
|
2599
|
+
# Block direct commits to main/master
|
|
2600
|
+
case "$BRANCH" in
|
|
2601
|
+
main|master)
|
|
2602
|
+
echo "" >&2
|
|
2603
|
+
echo "=== DIRECT COMMIT TO \${BRANCH} BLOCKED ===" >&2
|
|
2604
|
+
echo "" >&2
|
|
2605
|
+
echo "LumenFlow protects main from direct commits." >&2
|
|
2606
|
+
echo "" >&2
|
|
2607
|
+
echo "USE INSTEAD:" >&2
|
|
2608
|
+
echo " pnpm wu:claim --id WU-XXXX --lane \\"<Lane>\\"" >&2
|
|
2609
|
+
echo " cd worktrees/<lane>-wu-xxxx" >&2
|
|
2610
|
+
echo " # Make commits in the worktree" >&2
|
|
2611
|
+
echo "" >&2
|
|
2612
|
+
echo "EMERGENCY BYPASS (logged):" >&2
|
|
2613
|
+
echo " LUMENFLOW_FORCE=1 git commit ..." >&2
|
|
2614
|
+
echo "==========================================" >&2
|
|
2615
|
+
exit 1
|
|
2616
|
+
;;
|
|
2617
|
+
esac
|
|
2618
|
+
|
|
2619
|
+
# Allow commits on other branches
|
|
2620
|
+
exit 0
|
|
2621
|
+
`;
|
|
2493
2622
|
/**
|
|
2494
2623
|
* WU-1300: Inject LumenFlow scripts into package.json
|
|
2495
2624
|
* - Creates package.json if it doesn't exist
|
|
@@ -2518,8 +2647,9 @@ async function injectPackageJsonScripts(targetDir, options, result) {
|
|
|
2518
2647
|
}
|
|
2519
2648
|
const scripts = packageJson.scripts;
|
|
2520
2649
|
let modified = false;
|
|
2521
|
-
//
|
|
2522
|
-
|
|
2650
|
+
// WU-1433: Derive scripts from public manifest (not hardcoded)
|
|
2651
|
+
const lumenflowScripts = generateLumenflowScripts();
|
|
2652
|
+
for (const [scriptName, scriptCommand] of Object.entries(lumenflowScripts)) {
|
|
2523
2653
|
if (options.force || !(scriptName in scripts)) {
|
|
2524
2654
|
if (!(scriptName in scripts)) {
|
|
2525
2655
|
scripts[scriptName] = scriptCommand;
|
|
@@ -2657,6 +2787,15 @@ async function scaffoldClientFiles(targetDir, options, result, tokens, client) {
|
|
|
2657
2787
|
settingsContent = CLAUDE_SETTINGS_TEMPLATE;
|
|
2658
2788
|
}
|
|
2659
2789
|
await createFile(path.join(targetDir, CLAUDE_DIR, 'settings.json'), settingsContent, options.force ? 'force' : 'skip', result, targetDir);
|
|
2790
|
+
// WU-1413: Scaffold .mcp.json for MCP server integration
|
|
2791
|
+
let mcpJsonContent;
|
|
2792
|
+
try {
|
|
2793
|
+
mcpJsonContent = loadTemplate('core/.mcp.json.template');
|
|
2794
|
+
}
|
|
2795
|
+
catch {
|
|
2796
|
+
mcpJsonContent = MCP_JSON_TEMPLATE;
|
|
2797
|
+
}
|
|
2798
|
+
await createFile(path.join(targetDir, '.mcp.json'), mcpJsonContent, fileMode, result, targetDir);
|
|
2660
2799
|
// WU-1394: Scaffold recovery hook scripts with executable permissions
|
|
2661
2800
|
const hooksDir = path.join(targetDir, CLAUDE_DIR, 'hooks');
|
|
2662
2801
|
await createDirectory(hooksDir, result, targetDir);
|
|
@@ -2922,3 +3061,4 @@ if (import.meta.main) {
|
|
|
2922
3061
|
process.exit(1);
|
|
2923
3062
|
});
|
|
2924
3063
|
}
|
|
3064
|
+
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|