@lumenflow/cli 1.0.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.
Files changed (129) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +116 -0
  3. package/dist/gates.d.ts +41 -0
  4. package/dist/gates.d.ts.map +1 -0
  5. package/dist/gates.js +684 -0
  6. package/dist/gates.js.map +1 -0
  7. package/dist/initiative-add-wu.d.ts +22 -0
  8. package/dist/initiative-add-wu.d.ts.map +1 -0
  9. package/dist/initiative-add-wu.js +234 -0
  10. package/dist/initiative-add-wu.js.map +1 -0
  11. package/dist/initiative-create.d.ts +28 -0
  12. package/dist/initiative-create.d.ts.map +1 -0
  13. package/dist/initiative-create.js +172 -0
  14. package/dist/initiative-create.js.map +1 -0
  15. package/dist/initiative-edit.d.ts +34 -0
  16. package/dist/initiative-edit.d.ts.map +1 -0
  17. package/dist/initiative-edit.js +440 -0
  18. package/dist/initiative-edit.js.map +1 -0
  19. package/dist/initiative-list.d.ts +12 -0
  20. package/dist/initiative-list.d.ts.map +1 -0
  21. package/dist/initiative-list.js +101 -0
  22. package/dist/initiative-list.js.map +1 -0
  23. package/dist/initiative-status.d.ts +11 -0
  24. package/dist/initiative-status.d.ts.map +1 -0
  25. package/dist/initiative-status.js +221 -0
  26. package/dist/initiative-status.js.map +1 -0
  27. package/dist/mem-checkpoint.d.ts +16 -0
  28. package/dist/mem-checkpoint.d.ts.map +1 -0
  29. package/dist/mem-checkpoint.js +237 -0
  30. package/dist/mem-checkpoint.js.map +1 -0
  31. package/dist/mem-cleanup.d.ts +29 -0
  32. package/dist/mem-cleanup.d.ts.map +1 -0
  33. package/dist/mem-cleanup.js +267 -0
  34. package/dist/mem-cleanup.js.map +1 -0
  35. package/dist/mem-create.d.ts +17 -0
  36. package/dist/mem-create.d.ts.map +1 -0
  37. package/dist/mem-create.js +265 -0
  38. package/dist/mem-create.js.map +1 -0
  39. package/dist/mem-inbox.d.ts +35 -0
  40. package/dist/mem-inbox.d.ts.map +1 -0
  41. package/dist/mem-inbox.js +373 -0
  42. package/dist/mem-inbox.js.map +1 -0
  43. package/dist/mem-init.d.ts +15 -0
  44. package/dist/mem-init.d.ts.map +1 -0
  45. package/dist/mem-init.js +146 -0
  46. package/dist/mem-init.js.map +1 -0
  47. package/dist/mem-ready.d.ts +16 -0
  48. package/dist/mem-ready.d.ts.map +1 -0
  49. package/dist/mem-ready.js +224 -0
  50. package/dist/mem-ready.js.map +1 -0
  51. package/dist/mem-signal.d.ts +16 -0
  52. package/dist/mem-signal.d.ts.map +1 -0
  53. package/dist/mem-signal.js +204 -0
  54. package/dist/mem-signal.js.map +1 -0
  55. package/dist/mem-start.d.ts +16 -0
  56. package/dist/mem-start.d.ts.map +1 -0
  57. package/dist/mem-start.js +158 -0
  58. package/dist/mem-start.js.map +1 -0
  59. package/dist/mem-summarize.d.ts +22 -0
  60. package/dist/mem-summarize.d.ts.map +1 -0
  61. package/dist/mem-summarize.js +213 -0
  62. package/dist/mem-summarize.js.map +1 -0
  63. package/dist/mem-triage.d.ts +22 -0
  64. package/dist/mem-triage.d.ts.map +1 -0
  65. package/dist/mem-triage.js +328 -0
  66. package/dist/mem-triage.js.map +1 -0
  67. package/dist/spawn-list.d.ts +16 -0
  68. package/dist/spawn-list.d.ts.map +1 -0
  69. package/dist/spawn-list.js +140 -0
  70. package/dist/spawn-list.js.map +1 -0
  71. package/dist/wu-block.d.ts +16 -0
  72. package/dist/wu-block.d.ts.map +1 -0
  73. package/dist/wu-block.js +241 -0
  74. package/dist/wu-block.js.map +1 -0
  75. package/dist/wu-claim.d.ts +32 -0
  76. package/dist/wu-claim.d.ts.map +1 -0
  77. package/dist/wu-claim.js +1106 -0
  78. package/dist/wu-claim.js.map +1 -0
  79. package/dist/wu-cleanup.d.ts +17 -0
  80. package/dist/wu-cleanup.d.ts.map +1 -0
  81. package/dist/wu-cleanup.js +194 -0
  82. package/dist/wu-cleanup.js.map +1 -0
  83. package/dist/wu-create.d.ts +38 -0
  84. package/dist/wu-create.d.ts.map +1 -0
  85. package/dist/wu-create.js +520 -0
  86. package/dist/wu-create.js.map +1 -0
  87. package/dist/wu-deps.d.ts +13 -0
  88. package/dist/wu-deps.d.ts.map +1 -0
  89. package/dist/wu-deps.js +119 -0
  90. package/dist/wu-deps.js.map +1 -0
  91. package/dist/wu-done.d.ts +153 -0
  92. package/dist/wu-done.d.ts.map +1 -0
  93. package/dist/wu-done.js +2096 -0
  94. package/dist/wu-done.js.map +1 -0
  95. package/dist/wu-edit.d.ts +29 -0
  96. package/dist/wu-edit.d.ts.map +1 -0
  97. package/dist/wu-edit.js +852 -0
  98. package/dist/wu-edit.js.map +1 -0
  99. package/dist/wu-infer-lane.d.ts +17 -0
  100. package/dist/wu-infer-lane.d.ts.map +1 -0
  101. package/dist/wu-infer-lane.js +135 -0
  102. package/dist/wu-infer-lane.js.map +1 -0
  103. package/dist/wu-preflight.d.ts +47 -0
  104. package/dist/wu-preflight.d.ts.map +1 -0
  105. package/dist/wu-preflight.js +167 -0
  106. package/dist/wu-preflight.js.map +1 -0
  107. package/dist/wu-prune.d.ts +16 -0
  108. package/dist/wu-prune.d.ts.map +1 -0
  109. package/dist/wu-prune.js +259 -0
  110. package/dist/wu-prune.js.map +1 -0
  111. package/dist/wu-repair.d.ts +60 -0
  112. package/dist/wu-repair.d.ts.map +1 -0
  113. package/dist/wu-repair.js +226 -0
  114. package/dist/wu-repair.js.map +1 -0
  115. package/dist/wu-spawn-completion.d.ts +10 -0
  116. package/dist/wu-spawn-completion.js +30 -0
  117. package/dist/wu-spawn.d.ts +168 -0
  118. package/dist/wu-spawn.d.ts.map +1 -0
  119. package/dist/wu-spawn.js +1327 -0
  120. package/dist/wu-spawn.js.map +1 -0
  121. package/dist/wu-unblock.d.ts +16 -0
  122. package/dist/wu-unblock.d.ts.map +1 -0
  123. package/dist/wu-unblock.js +234 -0
  124. package/dist/wu-unblock.js.map +1 -0
  125. package/dist/wu-validate.d.ts +16 -0
  126. package/dist/wu-validate.d.ts.map +1 -0
  127. package/dist/wu-validate.js +193 -0
  128. package/dist/wu-validate.js.map +1 -0
  129. package/package.json +92 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gates.js","sourceRoot":"","sources":["../src/gates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Initiative Add WU Command (WU-1389)
4
+ *
5
+ * Links an existing WU to an initiative bidirectionally:
6
+ * 1. Adds `initiative: INIT-NNN` field to WU YAML
7
+ * 2. Adds WU ID to initiative `wus: []` array
8
+ *
9
+ * Uses micro-worktree isolation for atomic operations.
10
+ *
11
+ * Usage:
12
+ * pnpm initiative:add-wu --initiative INIT-001 --wu WU-123
13
+ *
14
+ * Features:
15
+ * - Validates both WU and initiative exist before modifying
16
+ * - Idempotent: no error if link already exists
17
+ * - Errors if WU is already linked to a different initiative
18
+ * - Atomic: both files updated in single commit
19
+ *
20
+ * Context: WU-1389 (initial implementation)
21
+ */
22
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiative-add-wu.d.ts","sourceRoot":"","sources":["../src/initiative-add-wu.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG"}
@@ -0,0 +1,234 @@
1
+ #!/usr/bin/env node
2
+ /* eslint-disable security/detect-non-literal-fs-filename */
3
+ /**
4
+ * Initiative Add WU Command (WU-1389)
5
+ *
6
+ * Links an existing WU to an initiative bidirectionally:
7
+ * 1. Adds `initiative: INIT-NNN` field to WU YAML
8
+ * 2. Adds WU ID to initiative `wus: []` array
9
+ *
10
+ * Uses micro-worktree isolation for atomic operations.
11
+ *
12
+ * Usage:
13
+ * pnpm initiative:add-wu --initiative INIT-001 --wu WU-123
14
+ *
15
+ * Features:
16
+ * - Validates both WU and initiative exist before modifying
17
+ * - Idempotent: no error if link already exists
18
+ * - Errors if WU is already linked to a different initiative
19
+ * - Atomic: both files updated in single commit
20
+ *
21
+ * Context: WU-1389 (initial implementation)
22
+ */
23
+ import { getGitForCwd } from '@lumenflow/core/dist/git-adapter.js';
24
+ import { die } from '@lumenflow/core/dist/error-handler.js';
25
+ import { existsSync } from 'node:fs';
26
+ import { join } from 'node:path';
27
+ import { createWUParser, WU_OPTIONS } from '@lumenflow/core/dist/arg-parser.js';
28
+ import { INIT_PATHS } from '@lumenflow/initiatives/dist/initiative-paths.js';
29
+ import { INIT_PATTERNS, INIT_COMMIT_FORMATS, INIT_LOG_PREFIX, } from '@lumenflow/initiatives/dist/initiative-constants.js';
30
+ import { WU_PATHS } from '@lumenflow/core/dist/wu-paths.js';
31
+ import { PATTERNS } from '@lumenflow/core/dist/wu-constants.js';
32
+ import { ensureOnMain } from '@lumenflow/core/dist/wu-helpers.js';
33
+ import { withMicroWorktree } from '@lumenflow/core/dist/micro-worktree.js';
34
+ import { readWU, writeWU } from '@lumenflow/core/dist/wu-yaml.js';
35
+ import { readInitiative, writeInitiative } from '@lumenflow/initiatives/dist/initiative-yaml.js';
36
+ /** Log prefix for console output */
37
+ const LOG_PREFIX = INIT_LOG_PREFIX.ADD_WU;
38
+ /** Micro-worktree operation name */
39
+ const OPERATION_NAME = 'initiative-add-wu';
40
+ /**
41
+ * Validate Initiative ID format
42
+ * @param {string} id - Initiative ID to validate
43
+ */
44
+ function validateInitIdFormat(id) {
45
+ if (!INIT_PATTERNS.INIT_ID.test(id)) {
46
+ die(`Invalid Initiative ID format: "${id}"\n\n` +
47
+ `Expected format: INIT-<number> or INIT-<NAME> (e.g., INIT-001, INIT-TOOLING)`);
48
+ }
49
+ }
50
+ /**
51
+ * Validate WU ID format
52
+ * @param {string} id - WU ID to validate
53
+ */
54
+ function validateWuIdFormat(id) {
55
+ if (!PATTERNS.WU_ID.test(id)) {
56
+ die(`Invalid WU ID format: "${id}"\n\nExpected format: WU-<number> (e.g., WU-123)`);
57
+ }
58
+ }
59
+ /**
60
+ * Check if WU exists
61
+ * @param {string} wuId - WU ID to check
62
+ * @returns {object} WU document
63
+ */
64
+ function checkWUExists(wuId) {
65
+ const wuPath = WU_PATHS.WU(wuId);
66
+ if (!existsSync(wuPath)) {
67
+ die(`WU not found: ${wuId}\n\nFile does not exist: ${wuPath}`);
68
+ }
69
+ return readWU(wuPath, wuId);
70
+ }
71
+ /**
72
+ * Check if Initiative exists
73
+ * @param {string} initId - Initiative ID to check
74
+ * @returns {object} Initiative document
75
+ */
76
+ function checkInitiativeExists(initId) {
77
+ const initPath = INIT_PATHS.INITIATIVE(initId);
78
+ if (!existsSync(initPath)) {
79
+ die(`Initiative not found: ${initId}\n\nFile does not exist: ${initPath}`);
80
+ }
81
+ return readInitiative(initPath, initId);
82
+ }
83
+ /**
84
+ * Check for conflicting initiative link
85
+ * @param {object} wuDoc - WU document
86
+ * @param {string} targetInitId - Target initiative ID
87
+ */
88
+ function checkConflictingLink(wuDoc, targetInitId) {
89
+ const currentInit = wuDoc.initiative;
90
+ if (currentInit && currentInit !== targetInitId) {
91
+ die(`WU ${wuDoc.id} is already linked to ${currentInit}\n\n` +
92
+ `Cannot link to ${targetInitId}. Remove the existing link first.\n` +
93
+ `Current initiative field: ${currentInit}`);
94
+ }
95
+ }
96
+ /**
97
+ * Check if link already exists (idempotent check)
98
+ * @param {object} wuDoc - WU document
99
+ * @param {object} initDoc - Initiative document
100
+ * @param {string} wuId - WU ID
101
+ * @param {string} initId - Initiative ID
102
+ * @returns {boolean} True if link already exists
103
+ */
104
+ function isAlreadyLinked(wuDoc, initDoc, wuId, initId) {
105
+ const wuHasInit = wuDoc.initiative === initId;
106
+ const initHasWu = Array.isArray(initDoc.wus) && initDoc.wus.includes(wuId);
107
+ return wuHasInit && initHasWu;
108
+ }
109
+ /**
110
+ * Update WU YAML in micro-worktree
111
+ * @param {string} worktreePath - Path to micro-worktree
112
+ * @param {string} wuId - WU ID
113
+ * @param {string} initId - Initiative ID
114
+ * @returns {boolean} True if changes were made
115
+ */
116
+ function updateWUInWorktree(worktreePath, wuId, initId) {
117
+ const wuRelPath = WU_PATHS.WU(wuId);
118
+ const wuAbsPath = join(worktreePath, wuRelPath);
119
+ const doc = readWU(wuAbsPath, wuId);
120
+ // Skip if already linked
121
+ if (doc.initiative === initId) {
122
+ return false;
123
+ }
124
+ // Update initiative field
125
+ doc.initiative = initId;
126
+ writeWU(wuAbsPath, doc);
127
+ console.log(`${LOG_PREFIX} ✅ Added initiative: ${initId} to ${wuId}`);
128
+ return true;
129
+ }
130
+ /**
131
+ * Update Initiative YAML in micro-worktree
132
+ * @param {string} worktreePath - Path to micro-worktree
133
+ * @param {string} initId - Initiative ID
134
+ * @param {string} wuId - WU ID to add
135
+ * @returns {boolean} True if changes were made
136
+ */
137
+ function updateInitiativeInWorktree(worktreePath, initId, wuId) {
138
+ const initRelPath = INIT_PATHS.INITIATIVE(initId);
139
+ const initAbsPath = join(worktreePath, initRelPath);
140
+ const doc = readInitiative(initAbsPath, initId);
141
+ // Initialize wus array if not present
142
+ if (!Array.isArray(doc.wus)) {
143
+ doc.wus = [];
144
+ }
145
+ // Skip if already in list
146
+ if (doc.wus.includes(wuId)) {
147
+ return false;
148
+ }
149
+ // Add WU to list
150
+ doc.wus.push(wuId);
151
+ writeInitiative(initAbsPath, doc);
152
+ console.log(`${LOG_PREFIX} ✅ Added ${wuId} to ${initId} wus list`);
153
+ return true;
154
+ }
155
+ async function main() {
156
+ const args = createWUParser({
157
+ name: 'initiative-add-wu',
158
+ description: 'Link a WU to an initiative bidirectionally',
159
+ options: [WU_OPTIONS.initiative, WU_OPTIONS.wu],
160
+ required: ['initiative', 'wu'],
161
+ allowPositionalId: false,
162
+ });
163
+ // Normalize args
164
+ const wuId = args.wu;
165
+ const initId = args.initiative;
166
+ console.log(`${LOG_PREFIX} Linking ${wuId} to ${initId}...`);
167
+ // Pre-flight validation
168
+ validateInitIdFormat(initId);
169
+ validateWuIdFormat(wuId);
170
+ const wuDoc = checkWUExists(wuId);
171
+ const initDoc = checkInitiativeExists(initId);
172
+ // Check for conflicting links
173
+ checkConflictingLink(wuDoc, initId);
174
+ // Idempotent check
175
+ if (isAlreadyLinked(wuDoc, initDoc, wuId, initId)) {
176
+ console.log(`${LOG_PREFIX} ✅ Link already exists (idempotent - no changes needed)`);
177
+ console.log(`\n${LOG_PREFIX} ${wuId} is already linked to ${initId}`);
178
+ return;
179
+ }
180
+ // Ensure on main branch
181
+ await ensureOnMain(getGitForCwd());
182
+ // Transaction: micro-worktree isolation
183
+ try {
184
+ await withMicroWorktree({
185
+ operation: OPERATION_NAME,
186
+ id: `${wuId}-${initId}`.toLowerCase(),
187
+ logPrefix: LOG_PREFIX,
188
+ pushOnly: true,
189
+ execute: async ({ worktreePath }) => {
190
+ const files = [];
191
+ // Update WU YAML
192
+ const wuChanged = updateWUInWorktree(worktreePath, wuId, initId);
193
+ if (wuChanged) {
194
+ files.push(WU_PATHS.WU(wuId));
195
+ }
196
+ // Update Initiative YAML
197
+ const initChanged = updateInitiativeInWorktree(worktreePath, initId, wuId);
198
+ if (initChanged) {
199
+ files.push(INIT_PATHS.INITIATIVE(initId));
200
+ }
201
+ // If no changes, this is idempotent (race condition handling)
202
+ if (files.length === 0) {
203
+ console.log(`${LOG_PREFIX} ⚠️ No changes detected (concurrent link operation)`);
204
+ // Still need to return something for the commit
205
+ return {
206
+ commitMessage: INIT_COMMIT_FORMATS.LINK_WU(wuId, initId),
207
+ files: [WU_PATHS.WU(wuId), INIT_PATHS.INITIATIVE(initId)],
208
+ };
209
+ }
210
+ return {
211
+ commitMessage: INIT_COMMIT_FORMATS.LINK_WU(wuId, initId),
212
+ files,
213
+ };
214
+ },
215
+ });
216
+ console.log(`\n${LOG_PREFIX} ✅ Transaction complete!`);
217
+ console.log(`\nLink Created:`);
218
+ console.log(` WU: ${wuId}`);
219
+ console.log(` Initiative: ${initId}`);
220
+ console.log(`\nNext steps:`);
221
+ console.log(` - View initiative status: pnpm initiative:status ${initId}`);
222
+ console.log(` - View WU: cat ${WU_PATHS.WU(wuId)}`);
223
+ }
224
+ catch (error) {
225
+ die(`Transaction failed: ${error.message}\n\n` +
226
+ `Micro-worktree cleanup was attempted automatically.\n` +
227
+ `If issue persists, check for orphaned branches: git branch | grep tmp/${OPERATION_NAME}`);
228
+ }
229
+ }
230
+ // Guard main() for testability
231
+ import { fileURLToPath } from 'node:url';
232
+ if (process.argv[1] === fileURLToPath(import.meta.url)) {
233
+ main();
234
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiative-add-wu.js","sourceRoot":"","sources":["../src/initiative-add-wu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Initiative Create Helper (WU-1247, WU-1439)
4
+ *
5
+ * Race-safe Initiative creation using micro-worktree isolation.
6
+ *
7
+ * Canonical sequence:
8
+ * 1) Validate inputs (id, slug, title)
9
+ * 2) Ensure on main branch
10
+ * 3) Use micro-worktree to atomically:
11
+ * a) Create temp branch without switching main checkout
12
+ * b) Create INIT-{id}.yaml in micro-worktree
13
+ * c) Commit with "docs: create init-{id} for <title>" message
14
+ * d) Merge to main with ff-only (retry with rebase if needed)
15
+ * e) Push to origin/main
16
+ * f) Cleanup temp branch and micro-worktree
17
+ *
18
+ * Benefits:
19
+ * - Main checkout never modified (no impact on other agents)
20
+ * - Race conditions handled via rebase+retry (up to 3 attempts)
21
+ * - Cleanup guaranteed even on failure
22
+ *
23
+ * Usage:
24
+ * pnpm initiative:create --id INIT-001 --slug shock-protocol --title "Shock Protocol Implementation"
25
+ *
26
+ * Context: WU-1247 (original implementation), WU-1439 (micro-worktree migration)
27
+ */
28
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiative-create.d.ts","sourceRoot":"","sources":["../src/initiative-create.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG"}
@@ -0,0 +1,172 @@
1
+ #!/usr/bin/env node
2
+ /* eslint-disable security/detect-non-literal-fs-filename */
3
+ /**
4
+ * Initiative Create Helper (WU-1247, WU-1439)
5
+ *
6
+ * Race-safe Initiative creation using micro-worktree isolation.
7
+ *
8
+ * Canonical sequence:
9
+ * 1) Validate inputs (id, slug, title)
10
+ * 2) Ensure on main branch
11
+ * 3) Use micro-worktree to atomically:
12
+ * a) Create temp branch without switching main checkout
13
+ * b) Create INIT-{id}.yaml in micro-worktree
14
+ * c) Commit with "docs: create init-{id} for <title>" message
15
+ * d) Merge to main with ff-only (retry with rebase if needed)
16
+ * e) Push to origin/main
17
+ * f) Cleanup temp branch and micro-worktree
18
+ *
19
+ * Benefits:
20
+ * - Main checkout never modified (no impact on other agents)
21
+ * - Race conditions handled via rebase+retry (up to 3 attempts)
22
+ * - Cleanup guaranteed even on failure
23
+ *
24
+ * Usage:
25
+ * pnpm initiative:create --id INIT-001 --slug shock-protocol --title "Shock Protocol Implementation"
26
+ *
27
+ * Context: WU-1247 (original implementation), WU-1439 (micro-worktree migration)
28
+ */
29
+ import { getGitForCwd } from '@lumenflow/core/dist/git-adapter.js';
30
+ import { die } from '@lumenflow/core/dist/error-handler.js';
31
+ import { existsSync, writeFileSync, mkdirSync } from 'node:fs';
32
+ import { join } from 'node:path';
33
+ import yaml from 'js-yaml';
34
+ import { createWUParser, WU_OPTIONS } from '@lumenflow/core/dist/arg-parser.js';
35
+ import { INIT_PATHS } from '@lumenflow/initiatives/dist/initiative-paths.js';
36
+ import { INIT_PATTERNS, INIT_COMMIT_FORMATS, INIT_DEFAULTS, } from '@lumenflow/initiatives/dist/initiative-constants.js';
37
+ import { FILE_SYSTEM, YAML_OPTIONS } from '@lumenflow/core/dist/wu-constants.js';
38
+ import { ensureOnMain } from '@lumenflow/core/dist/wu-helpers.js';
39
+ import { withMicroWorktree } from '@lumenflow/core/dist/micro-worktree.js';
40
+ // WU-1428: Use date-utils for consistent YYYY-MM-DD format (library-first)
41
+ import { todayISO } from '@lumenflow/core/dist/date-utils.js';
42
+ /** Log prefix for console output */
43
+ const LOG_PREFIX = '[initiative:create]';
44
+ /** Micro-worktree operation name */
45
+ const OPERATION_NAME = 'initiative-create';
46
+ /**
47
+ * Validate Initiative ID format
48
+ * @param {string} id - Initiative ID to validate
49
+ */
50
+ function validateInitIdFormat(id) {
51
+ if (!INIT_PATTERNS.INIT_ID.test(id)) {
52
+ die(`Invalid Initiative ID format: "${id}"\n\nExpected format: INIT-<number> (e.g., INIT-001)`);
53
+ }
54
+ }
55
+ /**
56
+ * Validate slug format (kebab-case)
57
+ * @param {string} slug - Slug to validate
58
+ */
59
+ function validateSlugFormat(slug) {
60
+ if (!INIT_PATTERNS.SLUG.test(slug)) {
61
+ die(`Invalid slug format: "${slug}"\n\n` +
62
+ `Slugs must be kebab-case (lowercase letters, numbers, hyphens only)\n` +
63
+ `Examples: shock-protocol, lumenflow-saas-v2`);
64
+ }
65
+ }
66
+ /**
67
+ * Check if Initiative already exists
68
+ * @param {string} id - Initiative ID to check
69
+ */
70
+ function checkInitiativeExists(id) {
71
+ const initPath = INIT_PATHS.INITIATIVE(id);
72
+ if (existsSync(initPath)) {
73
+ die(`Initiative already exists: ${initPath}\n\nChoose a different Initiative ID`);
74
+ }
75
+ }
76
+ function createInitiativeYamlInWorktree(worktreePath, id, slug, title, options = {}) {
77
+ const initRelativePath = INIT_PATHS.INITIATIVE(id);
78
+ const initAbsolutePath = join(worktreePath, initRelativePath);
79
+ const initDir = join(worktreePath, INIT_PATHS.INITIATIVES_DIR());
80
+ // Ensure directory exists
81
+ if (!existsSync(initDir)) {
82
+ mkdirSync(initDir, { recursive: true });
83
+ }
84
+ // WU-1428: Use todayISO() for consistent YYYY-MM-DD format (library-first)
85
+ const today = todayISO();
86
+ const initContent = {
87
+ id,
88
+ slug,
89
+ title,
90
+ description: '',
91
+ status: INIT_DEFAULTS.STATUS,
92
+ priority: options.priority || INIT_DEFAULTS.PRIORITY,
93
+ ...(options.owner && { owner: options.owner }),
94
+ created: today,
95
+ ...(options.targetDate && { target_date: options.targetDate }),
96
+ phases: [],
97
+ success_metrics: [],
98
+ labels: [],
99
+ };
100
+ const yamlContent = yaml.dump(initContent, {
101
+ lineWidth: YAML_OPTIONS.LINE_WIDTH,
102
+ quotingType: '"',
103
+ forceQuotes: false,
104
+ });
105
+ writeFileSync(initAbsolutePath, yamlContent, { encoding: FILE_SYSTEM.UTF8 });
106
+ console.log(`${LOG_PREFIX} ✅ Created ${id}.yaml in micro-worktree`);
107
+ return initRelativePath;
108
+ }
109
+ async function main() {
110
+ const args = createWUParser({
111
+ name: 'initiative-create',
112
+ description: 'Create a new Initiative with micro-worktree isolation (race-safe)',
113
+ options: [
114
+ WU_OPTIONS.id,
115
+ WU_OPTIONS.slug,
116
+ WU_OPTIONS.title,
117
+ WU_OPTIONS.priority,
118
+ WU_OPTIONS.owner,
119
+ WU_OPTIONS.targetDate,
120
+ ],
121
+ required: ['id', 'slug', 'title'],
122
+ allowPositionalId: false,
123
+ });
124
+ console.log(`${LOG_PREFIX} Creating Initiative ${args.id} (${args.slug})...`);
125
+ // Pre-flight checks (validation only - no main modification)
126
+ validateInitIdFormat(args.id);
127
+ validateSlugFormat(args.slug);
128
+ checkInitiativeExists(args.id);
129
+ await ensureOnMain(getGitForCwd());
130
+ // Transaction: micro-worktree isolation (WU-1439)
131
+ try {
132
+ await withMicroWorktree({
133
+ operation: OPERATION_NAME,
134
+ id: args.id,
135
+ logPrefix: LOG_PREFIX,
136
+ execute: async ({ worktreePath }) => {
137
+ // Create Initiative YAML in micro-worktree
138
+ const initPath = createInitiativeYamlInWorktree(worktreePath, args.id, args.slug, args.title, {
139
+ priority: args.priority,
140
+ owner: args.owner,
141
+ targetDate: args.targetDate,
142
+ });
143
+ // Return commit message and files to commit
144
+ return {
145
+ commitMessage: INIT_COMMIT_FORMATS.CREATE(args.id, args.title),
146
+ files: [initPath],
147
+ };
148
+ },
149
+ });
150
+ console.log(`\n${LOG_PREFIX} ✅ Transaction complete!`);
151
+ console.log(`\nInitiative Created:`);
152
+ console.log(` ID: ${args.id}`);
153
+ console.log(` Slug: ${args.slug}`);
154
+ console.log(` Title: ${args.title}`);
155
+ console.log(` Status: ${INIT_DEFAULTS.STATUS}`);
156
+ console.log(` File: ${INIT_PATHS.INITIATIVE(args.id)}`);
157
+ console.log(`\nNext steps:`);
158
+ console.log(` 1. Edit ${args.id}.yaml to add description, phases, and success_metrics`);
159
+ console.log(` 2. Link WUs to this initiative: pnpm wu:create --initiative ${args.id} ...`);
160
+ console.log(` 3. View status: pnpm initiative:status ${args.id}`);
161
+ }
162
+ catch (error) {
163
+ die(`Transaction failed: ${error.message}\n\n` +
164
+ `Micro-worktree cleanup was attempted automatically.\n` +
165
+ `If issue persists, check for orphaned branches: git branch | grep tmp/${OPERATION_NAME}`);
166
+ }
167
+ }
168
+ // Guard main() for testability
169
+ import { fileURLToPath } from 'node:url';
170
+ if (process.argv[1] === fileURLToPath(import.meta.url)) {
171
+ main();
172
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiative-create.js","sourceRoot":"","sources":["../src/initiative-create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Initiative Edit Helper
4
+ *
5
+ * Race-safe Initiative editing using micro-worktree isolation (WU-1451).
6
+ *
7
+ * Enables editing Initiative YAML files with atomic commits, perfect for:
8
+ * - Updating initiative status
9
+ * - Setting blocked_by and blocked_reason
10
+ * - Unblocking initiatives
11
+ * - Adding lanes
12
+ * - Appending notes
13
+ * - Fixing malformed created dates (WU-2547)
14
+ *
15
+ * Uses the micro-worktree pattern with pushOnly mode (WU-1435):
16
+ * 1) Validate inputs (Initiative exists, status is valid enum)
17
+ * 2) Ensure main is clean and up-to-date with origin
18
+ * 3) Create temp branch WITHOUT switching (main checkout stays on main)
19
+ * 4) Create micro-worktree in /tmp pointing to temp branch
20
+ * 5) Apply edits in micro-worktree
21
+ * 6) Commit, push directly to origin/main
22
+ * 7) Cleanup temp branch and micro-worktree
23
+ *
24
+ * Usage:
25
+ * pnpm initiative:edit --id INIT-001 --status in_progress
26
+ * pnpm initiative:edit --id INIT-001 --blocked-by INIT-002 --blocked-reason "Waiting for Phase 1"
27
+ * pnpm initiative:edit --id INIT-001 --unblock
28
+ * pnpm initiative:edit --id INIT-001 --add-lane "Operations: Tooling"
29
+ * pnpm initiative:edit --id INIT-001 --notes "Phase 2 started"
30
+ *
31
+ * Part of WU-1451: Add initiative:edit command for updating initiative status and blockers
32
+ * @see {@link tools/lib/micro-worktree.mjs} - Shared micro-worktree logic
33
+ */
34
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initiative-edit.d.ts","sourceRoot":"","sources":["../src/initiative-edit.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG"}