@lumenflow/cli 3.10.1 → 3.11.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 +78 -74
- package/dist/docs-sync.js +24 -29
- package/dist/docs-sync.js.map +1 -1
- package/dist/init-scaffolding.js +2 -9
- package/dist/init-scaffolding.js.map +1 -1
- package/dist/init.js +7 -18
- package/dist/init.js.map +1 -1
- package/dist/onboarding-template-paths.js +19 -0
- package/dist/onboarding-template-paths.js.map +1 -0
- package/dist/public-manifest.js +2 -2
- package/dist/public-manifest.js.map +1 -1
- package/dist/sync-templates.js +12 -1
- package/dist/sync-templates.js.map +1 -1
- package/dist/template-directory-resolver.js +71 -0
- package/dist/template-directory-resolver.js.map +1 -0
- package/dist/wu-done-check.js +33 -13
- package/dist/wu-done-check.js.map +1 -1
- package/dist/wu-done.js +6 -5
- package/dist/wu-done.js.map +1 -1
- package/dist/wu-spawn-prompt-builders.js +96 -23
- package/dist/wu-spawn-prompt-builders.js.map +1 -1
- package/package.json +8 -8
- 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 +3 -3
- package/templates/core/LUMENFLOW.md.template +17 -17
- package/templates/core/UPGRADING.md.template +30 -11
- package/templates/core/ai/onboarding/agent-safety-card.md.template +15 -16
- package/templates/core/ai/onboarding/first-15-mins.md.template +80 -0
- package/templates/core/ai/onboarding/first-wu-mistakes.md.template +3 -3
- package/templates/core/ai/onboarding/initiative-orchestration.md.template +1 -1
- package/templates/core/ai/onboarding/lane-inference.md.template +64 -0
- package/templates/core/ai/onboarding/local-only.md.template +56 -0
- package/templates/core/ai/onboarding/quick-ref-commands.md.template +122 -92
- package/templates/core/ai/onboarding/starting-prompt.md.template +91 -46
- package/templates/core/ai/onboarding/vendor-support.md.template +14 -20
- package/templates/core/ai/onboarding/wu-create-checklist.md.template +31 -82
- package/templates/core/ai/onboarding/wu-sizing-guide.md.template +48 -0
- package/templates/vendors/claude/.claude/skills/bug-classification/SKILL.md.template +2 -2
- package/templates/vendors/claude/.claude/skills/code-quality/SKILL.md.template +2 -2
- package/templates/vendors/claude/.claude/skills/context-management/SKILL.md.template +3 -3
- package/templates/vendors/claude/.claude/skills/execution-memory/SKILL.md.template +1 -1
- package/templates/vendors/claude/.claude/skills/initiative-management/SKILL.md.template +2 -2
- package/templates/vendors/claude/.claude/skills/library-first/SKILL.md.template +2 -2
- package/templates/vendors/claude/.claude/skills/lumenflow-gates/SKILL.md.template +3 -3
- package/templates/vendors/claude/.claude/skills/multi-agent-coordination/SKILL.md.template +2 -2
- package/templates/vendors/claude/.claude/skills/tdd-workflow/SKILL.md.template +3 -3
- package/templates/vendors/claude/.claude/skills/worktree-discipline/SKILL.md.template +10 -10
- package/templates/vendors/claude/.claude/skills/wu-lifecycle/SKILL.md.template +3 -3
package/README.md
CHANGED
|
@@ -51,32 +51,35 @@ This package provides CLI commands for the LumenFlow workflow framework, includi
|
|
|
51
51
|
|
|
52
52
|
### Work Unit Management
|
|
53
53
|
|
|
54
|
-
| Command
|
|
55
|
-
|
|
|
56
|
-
| `
|
|
57
|
-
| `
|
|
58
|
-
| `
|
|
59
|
-
| `wu-
|
|
60
|
-
| `wu-
|
|
61
|
-
| `wu-
|
|
62
|
-
| `wu-
|
|
63
|
-
| `wu-
|
|
64
|
-
| `wu-
|
|
65
|
-
| `wu-
|
|
66
|
-
| `wu-
|
|
67
|
-
| `wu-
|
|
68
|
-
| `wu-
|
|
69
|
-
| `wu-
|
|
70
|
-
| `wu-
|
|
71
|
-
| `wu-
|
|
72
|
-
| `wu-
|
|
73
|
-
| `wu-
|
|
74
|
-
| `wu-
|
|
75
|
-
| `wu-
|
|
76
|
-
| `wu-
|
|
77
|
-
| `wu-
|
|
78
|
-
| `wu-
|
|
79
|
-
| `wu-
|
|
54
|
+
| Command | Description |
|
|
55
|
+
| ------------------ | ------------------------------------------------------------- |
|
|
56
|
+
| `approval-list` | List control-plane approvals with optional filters |
|
|
57
|
+
| `approval-request` | Request control-plane approval for a workflow action |
|
|
58
|
+
| `approval-review` | Resolve a control-plane approval decision |
|
|
59
|
+
| `wu-block` | Block WU with reason |
|
|
60
|
+
| `wu-brief` | Generate handoff prompt for sub-agent WU execution |
|
|
61
|
+
| `wu-claim` | Claim WU and create worktree |
|
|
62
|
+
| `wu-cleanup` | Cleanup after PR merge |
|
|
63
|
+
| `wu-create` | Create new WU spec |
|
|
64
|
+
| `wu-delegate` | Generate delegation prompt and record explicit lineage intent |
|
|
65
|
+
| `wu-delete` | Delete WU spec and cleanup |
|
|
66
|
+
| `wu-deps` | Show WU dependencies |
|
|
67
|
+
| `wu-done` | Complete WU (merge, stamp, cleanup) from main |
|
|
68
|
+
| `wu-edit` | Edit WU spec fields |
|
|
69
|
+
| `wu-escalate` | Show or resolve WU escalation status |
|
|
70
|
+
| `wu-infer-lane` | Infer lane from code paths/description |
|
|
71
|
+
| `wu-preflight` | Pre-flight checks before wu:done |
|
|
72
|
+
| `wu-prep` | Run gates in worktree, prep for wu:done |
|
|
73
|
+
| `wu-proto` | Create WU prototype |
|
|
74
|
+
| `wu-prune` | Clean stale worktrees |
|
|
75
|
+
| `wu-recover` | Analyze and fix WU state inconsistencies |
|
|
76
|
+
| `wu-release` | Release orphaned WU (in_progress to ready) |
|
|
77
|
+
| `wu-repair` | Repair WU state issues |
|
|
78
|
+
| `wu-sandbox` | Run command through hardened WU sandbox backend |
|
|
79
|
+
| `wu-status` | Show WU status, location, valid commands |
|
|
80
|
+
| `wu-unblock` | Unblock WU |
|
|
81
|
+
| `wu-unlock-lane` | Unlock stuck lane |
|
|
82
|
+
| `wu-validate` | Validate WU spec |
|
|
80
83
|
|
|
81
84
|
### Memory & Session
|
|
82
85
|
|
|
@@ -122,13 +125,14 @@ This package provides CLI commands for the LumenFlow workflow framework, includi
|
|
|
122
125
|
|
|
123
126
|
### Metrics & Analytics
|
|
124
127
|
|
|
125
|
-
| Command | Description
|
|
126
|
-
| ------------------- |
|
|
127
|
-
| `
|
|
128
|
-
| `flow-
|
|
129
|
-
| `
|
|
130
|
-
| `metrics`
|
|
131
|
-
| `metrics
|
|
128
|
+
| Command | Description |
|
|
129
|
+
| ------------------- | ------------------------------ |
|
|
130
|
+
| `cost-summary` | Summarize local cost telemetry |
|
|
131
|
+
| `flow-bottlenecks` | Identify flow bottlenecks |
|
|
132
|
+
| `flow-report` | Generate flow metrics report |
|
|
133
|
+
| `lumenflow-metrics` | View workflow metrics (alias) |
|
|
134
|
+
| `metrics` | View workflow metrics |
|
|
135
|
+
| `metrics-snapshot` | Capture metrics snapshot |
|
|
132
136
|
|
|
133
137
|
### Lane Tooling
|
|
134
138
|
|
|
@@ -155,42 +159,42 @@ This package provides CLI commands for the LumenFlow workflow framework, includi
|
|
|
155
159
|
|
|
156
160
|
### System & Setup
|
|
157
161
|
|
|
158
|
-
| Command | Description
|
|
159
|
-
| -------------------------- |
|
|
160
|
-
| `backlog-prune` | Clean stale backlog entries
|
|
161
|
-
| `cloud-connect` | Connect workspace.yaml to cloud control plane
|
|
162
|
-
| `config-get` | Read and display a value from workspace.yaml software_delivery
|
|
163
|
-
| `config-set` | Safely update workspace.yaml software_delivery via micro-worktree
|
|
164
|
-
| `init-plan` | Link plan to initiative (alias)
|
|
165
|
-
| `lumenflow` | Initialize LumenFlow in a project
|
|
166
|
-
| `lumenflow-commands` | List all available CLI commands
|
|
167
|
-
| `lumenflow-docs-sync` |
|
|
168
|
-
| `lumenflow-doctor` | Diagnose LumenFlow configuration
|
|
169
|
-
| `lumenflow-init` | Initialize LumenFlow in a project (alias)
|
|
170
|
-
| `lumenflow-integrate` | Generate enforcement hooks for client
|
|
171
|
-
| `lumenflow-onboard` | Legacy entrypoint; use "npx lumenflow" for bootstrap-all onboarding
|
|
172
|
-
| `lumenflow-release` | Run release workflow
|
|
173
|
-
| `lumenflow-sync-templates` | Sync templates to project
|
|
174
|
-
| `lumenflow-upgrade` | Upgrade LumenFlow packages
|
|
175
|
-
| `onboard` | Legacy entrypoint; use "npx lumenflow" for bootstrap-all onboarding
|
|
176
|
-
| `pack-author` | Author a secure domain pack from templates
|
|
177
|
-
| `pack-hash` | Compute integrity hash for a domain pack
|
|
178
|
-
| `pack-install` | Install a domain pack into workspace
|
|
179
|
-
| `pack-publish` | Publish a domain pack to a registry
|
|
180
|
-
| `pack-scaffold` | Scaffold a new domain pack
|
|
181
|
-
| `pack-search` | Search for domain packs in a registry
|
|
182
|
-
| `pack-validate` | Validate a domain pack for integrity
|
|
183
|
-
| `plan-create` | Create a new plan
|
|
184
|
-
| `plan-edit` | Edit plan content
|
|
185
|
-
| `plan-link` | Link plan to WU or initiative
|
|
186
|
-
| `plan-promote` | Promote plan to WU
|
|
187
|
-
| `state-bootstrap` | Bootstrap state store
|
|
188
|
-
| `state-cleanup` | Clean up stale state data
|
|
189
|
-
| `state-doctor` | Diagnose state store issues
|
|
190
|
-
| `state-emit` | Emit corrective event to state store (WU-2241)
|
|
191
|
-
| `sync-templates` | Sync templates to project (alias)
|
|
192
|
-
| `templates-sync` | Sync templates to project (alias)
|
|
193
|
-
| `workspace-init` | Legacy entrypoint; use "npx lumenflow" for bootstrap-all onboarding
|
|
162
|
+
| Command | Description |
|
|
163
|
+
| -------------------------- | ---------------------------------------------------------------------- |
|
|
164
|
+
| `backlog-prune` | Clean stale backlog entries |
|
|
165
|
+
| `cloud-connect` | Connect workspace.yaml to cloud control plane |
|
|
166
|
+
| `config-get` | Read and display a value from workspace.yaml software_delivery |
|
|
167
|
+
| `config-set` | Safely update workspace.yaml software_delivery via micro-worktree |
|
|
168
|
+
| `init-plan` | Link plan to initiative (alias) |
|
|
169
|
+
| `lumenflow` | Initialize LumenFlow in a project |
|
|
170
|
+
| `lumenflow-commands` | List all available CLI commands |
|
|
171
|
+
| `lumenflow-docs-sync` | Refresh scaffolded onboarding docs and supported vendor assets (alias) |
|
|
172
|
+
| `lumenflow-doctor` | Diagnose LumenFlow configuration |
|
|
173
|
+
| `lumenflow-init` | Initialize LumenFlow in a project (alias) |
|
|
174
|
+
| `lumenflow-integrate` | Generate enforcement hooks for client |
|
|
175
|
+
| `lumenflow-onboard` | Legacy entrypoint; use "npx lumenflow" for bootstrap-all onboarding |
|
|
176
|
+
| `lumenflow-release` | Run release workflow |
|
|
177
|
+
| `lumenflow-sync-templates` | Sync templates to project |
|
|
178
|
+
| `lumenflow-upgrade` | Upgrade LumenFlow packages |
|
|
179
|
+
| `onboard` | Legacy entrypoint; use "npx lumenflow" for bootstrap-all onboarding |
|
|
180
|
+
| `pack-author` | Author a secure domain pack from templates |
|
|
181
|
+
| `pack-hash` | Compute integrity hash for a domain pack |
|
|
182
|
+
| `pack-install` | Install a domain pack into workspace |
|
|
183
|
+
| `pack-publish` | Publish a domain pack to a registry |
|
|
184
|
+
| `pack-scaffold` | Scaffold a new domain pack |
|
|
185
|
+
| `pack-search` | Search for domain packs in a registry |
|
|
186
|
+
| `pack-validate` | Validate a domain pack for integrity |
|
|
187
|
+
| `plan-create` | Create a new plan |
|
|
188
|
+
| `plan-edit` | Edit plan content |
|
|
189
|
+
| `plan-link` | Link plan to WU or initiative |
|
|
190
|
+
| `plan-promote` | Promote plan to WU |
|
|
191
|
+
| `state-bootstrap` | Bootstrap state store |
|
|
192
|
+
| `state-cleanup` | Clean up stale state data |
|
|
193
|
+
| `state-doctor` | Diagnose state store issues |
|
|
194
|
+
| `state-emit` | Emit corrective event to state store (WU-2241) |
|
|
195
|
+
| `sync-templates` | Sync templates to project (alias) |
|
|
196
|
+
| `templates-sync` | Sync templates to project (alias) |
|
|
197
|
+
| `workspace-init` | Legacy entrypoint; use "npx lumenflow" for bootstrap-all onboarding |
|
|
194
198
|
|
|
195
199
|
### File & Git Operations
|
|
196
200
|
|
|
@@ -294,14 +298,14 @@ To upgrade LumenFlow packages:
|
|
|
294
298
|
# Check for available updates
|
|
295
299
|
pnpm outdated @lumenflow/*
|
|
296
300
|
|
|
297
|
-
# Update all LumenFlow packages
|
|
298
|
-
pnpm
|
|
301
|
+
# Update all LumenFlow packages atomically
|
|
302
|
+
pnpm lumenflow:upgrade --latest
|
|
299
303
|
|
|
300
|
-
#
|
|
301
|
-
pnpm
|
|
304
|
+
# Refresh scaffolded onboarding docs and vendor assets
|
|
305
|
+
pnpm docs:sync --force
|
|
302
306
|
```
|
|
303
307
|
|
|
304
|
-
**Important**: Always run `docs:sync` after package changes to
|
|
308
|
+
**Important**: Always run `docs:sync --force` after package changes to refresh scaffolded onboarding docs and supported vendor assets.
|
|
305
309
|
|
|
306
310
|
For current setup guidance and troubleshooting, see [LUMENFLOW.md](https://lumenflow.dev).
|
|
307
311
|
|
package/dist/docs-sync.js
CHANGED
|
@@ -10,11 +10,13 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import * as fs from 'node:fs';
|
|
12
12
|
import * as path from 'node:path';
|
|
13
|
-
import { fileURLToPath } from 'node:url';
|
|
14
13
|
import { createWUParser, WU_OPTIONS, getDefaultConfig, createError, ErrorCodes, } from '@lumenflow/core';
|
|
14
|
+
import { createWuPaths } from '@lumenflow/core/wu-paths';
|
|
15
15
|
import { GIT_DIRECTORY_NAME, getConfig } from '@lumenflow/core/config';
|
|
16
16
|
// WU-1362: Import worktree guard utilities for branch checking
|
|
17
17
|
import { isMainBranch, isInWorktree } from '@lumenflow/core/core/worktree-guard';
|
|
18
|
+
import { SCAFFOLDED_ONBOARDING_TEMPLATE_PATHS } from './onboarding-template-paths.js';
|
|
19
|
+
import { resolveCliTemplatesDir } from './template-directory-resolver.js';
|
|
18
20
|
/**
|
|
19
21
|
* WU-1085: CLI option definitions for docs-sync command
|
|
20
22
|
*/
|
|
@@ -34,7 +36,7 @@ const DOCS_SYNC_OPTIONS = {
|
|
|
34
36
|
export function parseDocsSyncOptions() {
|
|
35
37
|
const opts = createWUParser({
|
|
36
38
|
name: 'lumenflow-docs-sync',
|
|
37
|
-
description: 'Sync
|
|
39
|
+
description: 'Sync scaffolded onboarding docs and supported vendor assets (skips existing files by default)',
|
|
38
40
|
options: Object.values(DOCS_SYNC_OPTIONS),
|
|
39
41
|
});
|
|
40
42
|
return {
|
|
@@ -64,20 +66,7 @@ function resolveDocsSyncDirectories(targetDir) {
|
|
|
64
66
|
* Falls back to src/templates/ for development
|
|
65
67
|
*/
|
|
66
68
|
export function getTemplatesDir() {
|
|
67
|
-
|
|
68
|
-
const __dirname = path.dirname(__filename);
|
|
69
|
-
// In production: dist/docs-sync.js -> templates/
|
|
70
|
-
// In development: src/docs-sync.ts -> ../templates/
|
|
71
|
-
const distTemplates = path.join(__dirname, '..', 'templates');
|
|
72
|
-
if (fs.existsSync(distTemplates)) {
|
|
73
|
-
return distTemplates;
|
|
74
|
-
}
|
|
75
|
-
// Fallback for tests running from src
|
|
76
|
-
const srcTemplates = path.join(__dirname, '..', 'templates');
|
|
77
|
-
if (fs.existsSync(srcTemplates)) {
|
|
78
|
-
return srcTemplates;
|
|
79
|
-
}
|
|
80
|
-
throw createError(ErrorCodes.FILE_NOT_FOUND, `Templates directory not found at ${distTemplates}`);
|
|
69
|
+
return resolveCliTemplatesDir();
|
|
81
70
|
}
|
|
82
71
|
/**
|
|
83
72
|
* WU-1124: Load a template file from the bundled templates directory
|
|
@@ -137,17 +126,6 @@ async function createFile(filePath, content, force, result, targetDir) {
|
|
|
137
126
|
fs.writeFileSync(filePath, content);
|
|
138
127
|
result.created.push(relativePath);
|
|
139
128
|
}
|
|
140
|
-
/**
|
|
141
|
-
* WU-1124: Template paths for agent onboarding docs
|
|
142
|
-
* Maps output file names to template paths
|
|
143
|
-
*/
|
|
144
|
-
const ONBOARDING_TEMPLATE_PATHS = {
|
|
145
|
-
'quick-ref-commands.md': 'core/ai/onboarding/quick-ref-commands.md.template',
|
|
146
|
-
'first-wu-mistakes.md': 'core/ai/onboarding/first-wu-mistakes.md.template',
|
|
147
|
-
'troubleshooting-wu-done.md': 'core/ai/onboarding/troubleshooting-wu-done.md.template',
|
|
148
|
-
'agent-safety-card.md': 'core/ai/onboarding/agent-safety-card.md.template',
|
|
149
|
-
'wu-create-checklist.md': 'core/ai/onboarding/wu-create-checklist.md.template',
|
|
150
|
-
};
|
|
151
129
|
const CLAUDE_VENDOR_TEMPLATE_ROOT = ['vendors', 'claude', '.claude'].join('/');
|
|
152
130
|
const CLAUDE_SKILLS_TEMPLATE_ROOT = `${CLAUDE_VENDOR_TEMPLATE_ROOT}/skills`;
|
|
153
131
|
/**
|
|
@@ -168,13 +146,30 @@ export async function syncAgentDocs(targetDir, options) {
|
|
|
168
146
|
created: [],
|
|
169
147
|
skipped: [],
|
|
170
148
|
};
|
|
149
|
+
const wuPaths = createWuPaths({ projectRoot: targetDir });
|
|
150
|
+
const wuDir = wuPaths.WU_DIR().split(path.sep).join('/');
|
|
151
|
+
const tasksDir = path.posix.dirname(wuDir);
|
|
152
|
+
const onboardingPath = wuPaths.ONBOARDING_DIR().split(path.sep).join('/');
|
|
153
|
+
const quickRefPath = wuPaths.QUICK_REF_PATH().split(path.sep).join('/');
|
|
154
|
+
const operationsPath = path.posix.dirname(tasksDir);
|
|
155
|
+
const backlogPath = wuPaths.BACKLOG().split(path.sep).join('/');
|
|
156
|
+
const statusPath = wuPaths.STATUS().split(path.sep).join('/');
|
|
171
157
|
const tokens = {
|
|
172
158
|
DATE: getCurrentDate(),
|
|
159
|
+
PROJECT_ROOT: '<project-root>',
|
|
160
|
+
QUICK_REF_LINK: quickRefPath,
|
|
161
|
+
DOCS_OPERATIONS_PATH: operationsPath,
|
|
162
|
+
DOCS_TASKS_PATH: tasksDir,
|
|
163
|
+
DOCS_ONBOARDING_PATH: onboardingPath,
|
|
164
|
+
DOCS_WU_DIR_PATH: wuDir,
|
|
165
|
+
DOCS_TEMPLATES_DIR_PATH: `${tasksDir}/templates`,
|
|
166
|
+
DOCS_BACKLOG_PATH: backlogPath,
|
|
167
|
+
DOCS_STATUS_PATH: statusPath,
|
|
173
168
|
};
|
|
174
169
|
const { onboardingDir } = resolveDocsSyncDirectories(targetDir);
|
|
175
170
|
await createDirectory(onboardingDir, result, targetDir);
|
|
176
171
|
// WU-1124: Load and process templates from bundled files
|
|
177
|
-
for (const [outputFile, templatePath] of Object.entries(
|
|
172
|
+
for (const [outputFile, templatePath] of Object.entries(SCAFFOLDED_ONBOARDING_TEMPLATE_PATHS)) {
|
|
178
173
|
const templateContent = loadTemplate(templatePath);
|
|
179
174
|
const processedContent = processTemplate(templateContent, tokens);
|
|
180
175
|
await createFile(path.join(onboardingDir, outputFile), processedContent, options.force, result, targetDir);
|
|
@@ -251,7 +246,7 @@ async function checkBranchGuard(targetDir) {
|
|
|
251
246
|
export async function main() {
|
|
252
247
|
const opts = parseDocsSyncOptions();
|
|
253
248
|
const targetDir = process.cwd();
|
|
254
|
-
console.log('[lumenflow docs:sync] Syncing
|
|
249
|
+
console.log('[lumenflow docs:sync] Syncing scaffolded onboarding docs and vendor assets...');
|
|
255
250
|
console.log(` Vendor: ${opts.vendor}`);
|
|
256
251
|
console.log(` Force: ${opts.force}`);
|
|
257
252
|
// WU-1362: Check branch guard before writing files
|
package/dist/docs-sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-sync.js","sourceRoot":"","sources":["../src/docs-sync.ts"],"names":[],"mappings":";AACA,iCAAiC;AACjC,yCAAyC;AACzC;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"docs-sync.js","sourceRoot":"","sources":["../src/docs-sync.ts"],"names":[],"mappings":"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"}
|
package/dist/init-scaffolding.js
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import * as fs from 'node:fs';
|
|
11
11
|
import * as path from 'node:path';
|
|
12
|
-
import { fileURLToPath } from 'node:url';
|
|
13
12
|
import { createError, ErrorCodes } from '@lumenflow/core';
|
|
14
13
|
// WU-1171: Import merge block utilities
|
|
15
14
|
import { updateMergeBlock } from './merge-block.js';
|
|
15
|
+
import { resolveCliTemplatesDir } from './template-directory-resolver.js';
|
|
16
16
|
/**
|
|
17
17
|
* Process template content by replacing placeholders
|
|
18
18
|
*/
|
|
@@ -31,14 +31,7 @@ export function getRelativePath(targetDir, filePath) {
|
|
|
31
31
|
* WU-1171: Get templates directory path
|
|
32
32
|
*/
|
|
33
33
|
export function getTemplatesDir() {
|
|
34
|
-
|
|
35
|
-
const __dirname = path.dirname(__filename);
|
|
36
|
-
// Check for dist/templates (production) or ../templates (development)
|
|
37
|
-
const distTemplates = path.join(__dirname, '..', 'templates');
|
|
38
|
-
if (fs.existsSync(distTemplates)) {
|
|
39
|
-
return distTemplates;
|
|
40
|
-
}
|
|
41
|
-
throw createError(ErrorCodes.FILE_NOT_FOUND, `Templates directory not found at ${distTemplates}`);
|
|
34
|
+
return resolveCliTemplatesDir();
|
|
42
35
|
}
|
|
43
36
|
/**
|
|
44
37
|
* WU-1171: Load a template file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-scaffolding.js","sourceRoot":"","sources":["../src/init-scaffolding.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"init-scaffolding.js","sourceRoot":"","sources":["../src/init-scaffolding.ts"],"names":[],"mappings":"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"}
|
package/dist/init.js
CHANGED
|
@@ -36,7 +36,8 @@ import { getPublicManifest } from './public-manifest.js';
|
|
|
36
36
|
import { runCLI } from './cli-entry-point.js';
|
|
37
37
|
import { buildInitLaneLifecycleMessage, LANE_LIFECYCLE_STATUS } from './lane-lifecycle-process.js';
|
|
38
38
|
// WU-1643: Import template constants from dedicated data module
|
|
39
|
-
import { AGENTS_MD_TEMPLATE,
|
|
39
|
+
import { AGENTS_MD_TEMPLATE, CLAUDE_MD_TEMPLATE, CLAUDE_SETTINGS_TEMPLATE, CURSOR_RULES_TEMPLATE, WINDSURF_RULES_TEMPLATE, CLINE_RULES_TEMPLATE, AIDER_CONF_TEMPLATE, MCP_JSON_TEMPLATE, BACKLOG_TEMPLATE, STATUS_TEMPLATE, WU_TEMPLATE_YAML, FRAMEWORK_HINT_TEMPLATE, FRAMEWORK_OVERLAY_TEMPLATE, WU_LIFECYCLE_SKILL_TEMPLATE, WORKTREE_DISCIPLINE_SKILL_TEMPLATE, LUMENFLOW_GATES_SKILL_TEMPLATE, GITIGNORE_TEMPLATE, REQUIRED_GITIGNORE_EXCLUSIONS, PRETTIERIGNORE_TEMPLATE, SAFE_GIT_TEMPLATE, PRE_COMMIT_TEMPLATE, GATE_STUB_SCRIPTS, SCRIPT_ARG_OVERRIDES, DEFAULT_LANE_DEFINITIONS, } from './init-templates.js';
|
|
40
|
+
import { SCAFFOLDED_ONBOARDING_TEMPLATE_PATHS } from './onboarding-template-paths.js';
|
|
40
41
|
// WU-1644: Import detection helpers from dedicated module
|
|
41
42
|
import { getDocsPath, detectDocsStructure, detectDefaultClient, isGitRepo, hasGitCommits, detectGitStateConfig, } from './init-detection.js';
|
|
42
43
|
// WU-1644: Re-export detection functions for backwards compatibility
|
|
@@ -648,9 +649,9 @@ export async function scaffoldProject(targetDir, options) {
|
|
|
648
649
|
await createFile(path.join(targetDir, 'AGENTS.md'), processTemplate(AGENTS_MD_TEMPLATE, tokenDefaults), fileMode, result, targetDir);
|
|
649
650
|
}
|
|
650
651
|
// Create LUMENFLOW.md (main entry point)
|
|
651
|
-
await createFile(path.join(targetDir, 'LUMENFLOW.md'), processTemplate(
|
|
652
|
+
await createFile(path.join(targetDir, 'LUMENFLOW.md'), processTemplate(loadTemplate('core/LUMENFLOW.md.template'), tokenDefaults), fileMode, result, targetDir);
|
|
652
653
|
// Create .lumenflow/constraints.md
|
|
653
|
-
await createFile(path.join(targetDir, LUMENFLOW_DIR, 'constraints.md'), processTemplate(
|
|
654
|
+
await createFile(path.join(targetDir, LUMENFLOW_DIR, 'constraints.md'), processTemplate(loadTemplate('core/.lumenflow/constraints.md.template'), tokenDefaults), fileMode, result, targetDir);
|
|
654
655
|
// Create .lumenflow/agents directory with .gitkeep
|
|
655
656
|
await createDirectory(path.join(targetDir, LUMENFLOW_AGENTS_DIR), result, targetDir);
|
|
656
657
|
await createFile(path.join(targetDir, LUMENFLOW_AGENTS_DIR, '.gitkeep'), '', options.force ? 'force' : 'skip', result, targetDir);
|
|
@@ -993,21 +994,9 @@ async function scaffoldAgentOnboardingDocs(targetDir, options, result, tokens) {
|
|
|
993
994
|
// WU-1309: Use dynamic onboarding path from tokens
|
|
994
995
|
const onboardingDir = path.join(targetDir, tokens.DOCS_ONBOARDING_PATH);
|
|
995
996
|
await createDirectory(onboardingDir, result, targetDir);
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
await createFile(path.join(onboardingDir, 'first-15-mins.md'), processTemplate(FIRST_15_MINS_TEMPLATE, tokens), options.force, result, targetDir);
|
|
1000
|
-
// WU-1309: Add local-only.md
|
|
1001
|
-
await createFile(path.join(onboardingDir, 'local-only.md'), processTemplate(LOCAL_ONLY_TEMPLATE, tokens), options.force, result, targetDir);
|
|
1002
|
-
// WU-1309: Add lane-inference.md
|
|
1003
|
-
await createFile(path.join(onboardingDir, 'lane-inference.md'), processTemplate(LANE_INFERENCE_DOC_TEMPLATE, tokens), options.force, result, targetDir);
|
|
1004
|
-
await createFile(path.join(onboardingDir, 'quick-ref-commands.md'), processTemplate(QUICK_REF_COMMANDS_TEMPLATE, tokens), options.force, result, targetDir);
|
|
1005
|
-
await createFile(path.join(onboardingDir, 'first-wu-mistakes.md'), processTemplate(FIRST_WU_MISTAKES_TEMPLATE, tokens), options.force, result, targetDir);
|
|
1006
|
-
await createFile(path.join(onboardingDir, 'troubleshooting-wu-done.md'), processTemplate(TROUBLESHOOTING_WU_DONE_TEMPLATE, tokens), options.force, result, targetDir);
|
|
1007
|
-
await createFile(path.join(onboardingDir, 'agent-safety-card.md'), processTemplate(AGENT_SAFETY_CARD_TEMPLATE, tokens), options.force, result, targetDir);
|
|
1008
|
-
await createFile(path.join(onboardingDir, 'wu-create-checklist.md'), processTemplate(WU_CREATE_CHECKLIST_TEMPLATE, tokens), options.force, result, targetDir);
|
|
1009
|
-
// WU-1385: Add wu-sizing-guide.md to onboarding docs
|
|
1010
|
-
await createFile(path.join(onboardingDir, 'wu-sizing-guide.md'), processTemplate(WU_SIZING_GUIDE_TEMPLATE, tokens), options.force, result, targetDir);
|
|
997
|
+
for (const [outputFile, templatePath] of Object.entries(SCAFFOLDED_ONBOARDING_TEMPLATE_PATHS)) {
|
|
998
|
+
await createFile(path.join(onboardingDir, outputFile), processTemplate(loadTemplate(templatePath), tokens), options.force, result, targetDir);
|
|
999
|
+
}
|
|
1011
1000
|
}
|
|
1012
1001
|
/**
|
|
1013
1002
|
* WU-1083: Scaffold Claude skills
|