@jakkrichm/create-nexus-devflow 2.17.0 → 2.17.2

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 (58) hide show
  1. package/dist/bin/create-nexus-devflow.d.ts +1 -1
  2. package/dist/bin/create-nexus-devflow.js +0 -37
  3. package/dist/bin/create-nexus-devflow.js.map +1 -1
  4. package/dist/lib/tooling/commands/summarize-run-status.js +1 -3
  5. package/dist/lib/tooling/commands/summarize-run-status.js.map +1 -1
  6. package/dist/lib/tooling/registry.js +0 -2
  7. package/dist/lib/tooling/registry.js.map +1 -1
  8. package/dist/lib/update.d.ts +3 -8
  9. package/dist/lib/update.js.map +1 -1
  10. package/dist/scripts/prepare-template.js +15 -75
  11. package/dist/scripts/prepare-template.js.map +1 -1
  12. package/package.json +1 -1
  13. package/template/AGENTS.md +9 -10
  14. package/template/devflow/{30-planning/build-plan.md → build-plan.md} +2 -9
  15. package/dist/lib/tooling/commands/migrate-structure.d.ts +0 -8
  16. package/dist/lib/tooling/commands/migrate-structure.js +0 -197
  17. package/dist/lib/tooling/commands/migrate-structure.js.map +0 -1
  18. package/dist/lib/workspace-paths.d.ts +0 -15
  19. package/dist/lib/workspace-paths.js +0 -61
  20. package/dist/lib/workspace-paths.js.map +0 -1
  21. package/template/devflow/40-tasks/.gitkeep +0 -0
  22. package/template/devflow/40-tasks/README.md +0 -11
  23. package/template/devflow/60-docs/migration-guide-decade-numbered.md +0 -93
  24. /package/template/devflow/{00-context → context}/ai-interaction.md +0 -0
  25. /package/template/devflow/{00-context → context}/coding-standards.md +0 -0
  26. /package/template/devflow/{00-context → context}/glossary.md +0 -0
  27. /package/template/devflow/{00-context → context}/project-overview.md +0 -0
  28. /package/template/devflow/{20-discovery/decisions → decisions}/.gitkeep +0 -0
  29. /package/template/devflow/{20-discovery/decisions → decisions}/README.md +0 -0
  30. /package/template/devflow/{20-discovery/discoveries → discoveries}/.gitkeep +0 -0
  31. /package/template/devflow/{60-docs → docs}/USAGE.md +0 -0
  32. /package/template/devflow/{60-docs → docs}/diagrams/nexus-devflow-architecture.html +0 -0
  33. /package/template/devflow/{60-docs → docs}/diagrams/nexus-devflow-architecture.json +0 -0
  34. /package/template/devflow/{60-docs → docs}/diagrams/nexus-devflow-lifecycle.html +0 -0
  35. /package/template/devflow/{60-docs → docs}/diagrams/nexus-devflow-lifecycle.json +0 -0
  36. /package/template/devflow/{60-docs → docs}/examples/living-spec/adr.example.md +0 -0
  37. /package/template/devflow/{60-docs → docs}/examples/living-spec/current-feature.example.md +0 -0
  38. /package/template/devflow/{60-docs → docs}/examples/living-spec/discovery.example.md +0 -0
  39. /package/template/devflow/{60-docs → docs}/examples/living-spec/ideas.example.md +0 -0
  40. /package/template/devflow/{60-docs → docs}/governance-rules.md +0 -0
  41. /package/template/devflow/{60-docs → docs}/manual-review-workflow-spec.md +0 -0
  42. /package/template/devflow/{60-docs → docs}/markdown-metadata-contract.md +0 -0
  43. /package/template/devflow/{60-docs → docs}/quickstart.md +0 -0
  44. /package/template/devflow/{60-docs → docs}/release-process.md +0 -0
  45. /package/template/devflow/{60-docs → docs}/skill-selection-policy.md +0 -0
  46. /package/template/devflow/{60-docs → docs}/workflow-surface-map.md +0 -0
  47. /package/template/devflow/{50-history → history}/HISTORY.md +0 -0
  48. /package/template/devflow/{50-history → history}/features/README.md +0 -0
  49. /package/template/devflow/{50-history → history}/fixes/README.md +0 -0
  50. /package/template/devflow/{50-history → history}/rollbacks/README.md +0 -0
  51. /package/template/devflow/{10-ideation/ideas.md → ideas.md} +0 -0
  52. /package/template/devflow/{30-planning/project-plan.md → project-plan.md} +0 -0
  53. /package/template/devflow/{10-ideation/reference → reference}/build-plan-template.md +0 -0
  54. /package/template/devflow/{10-ideation/reference → reference}/feature-spec-template.md +0 -0
  55. /package/template/devflow/{10-ideation/reference → reference}/mockup.html +0 -0
  56. /package/template/devflow/{10-ideation/reference → reference}/project-overview-template.md +0 -0
  57. /package/template/devflow/{10-ideation/reference → reference}/project-plan-template.md +0 -0
  58. /package/template/devflow/{10-ideation/reference → reference}/running-id-contract.md +0 -0
@@ -66,41 +66,6 @@ async function copyEntry(entry, inventory) {
66
66
  !normalized.endsWith("README.md")) {
67
67
  return false;
68
68
  }
69
- if (normalized.startsWith("devflow/00-context/") &&
70
- normalized !== "devflow/00-context" &&
71
- normalized !== "devflow/00-context/project-overview.md" &&
72
- normalized !== "devflow/00-context/coding-standards.md" &&
73
- normalized !== "devflow/00-context/ai-interaction.md" &&
74
- normalized !== "devflow/00-context/glossary.md") {
75
- return false;
76
- }
77
- if (normalized.startsWith("devflow/40-tasks/") &&
78
- !normalized.endsWith(".gitkeep") &&
79
- !normalized.endsWith("README.md")) {
80
- return false;
81
- }
82
- if (normalized.startsWith("devflow/50-history/features/") &&
83
- !normalized.endsWith("README.md")) {
84
- return false;
85
- }
86
- if (normalized.startsWith("devflow/50-history/fixes/") &&
87
- !normalized.endsWith("README.md")) {
88
- return false;
89
- }
90
- if (normalized.startsWith("devflow/50-history/rollbacks/") &&
91
- !normalized.endsWith("README.md")) {
92
- return false;
93
- }
94
- if (normalized.startsWith("devflow/20-discovery/discoveries/") &&
95
- !normalized.endsWith(".gitkeep") &&
96
- !normalized.endsWith("README.md")) {
97
- return false;
98
- }
99
- if (normalized.startsWith("devflow/20-discovery/decisions/") &&
100
- !normalized.endsWith(".gitkeep") &&
101
- !normalized.endsWith("README.md")) {
102
- return false;
103
- }
104
69
  if (matchesPrefix(normalized, "devflow/inbox") ||
105
70
  matchesPrefix(normalized, "devflow/analysis") ||
106
71
  matchesPrefix(normalized, "devflow/scratch") ||
@@ -112,17 +77,6 @@ async function copyEntry(entry, inventory) {
112
77
  matchesPrefix(normalized, "devflow/reports") ||
113
78
  matchesPrefix(normalized, "devflow/docs/playbooks") ||
114
79
  matchesPrefix(normalized, "devflow/research") ||
115
- matchesPrefix(normalized, "devflow/10-ideation/inbox") ||
116
- matchesPrefix(normalized, "devflow/10-ideation/scratch") ||
117
- matchesPrefix(normalized, "devflow/10-ideation/brainstorm") ||
118
- matchesPrefix(normalized, "devflow/10-ideation/brainstorms") ||
119
- matchesPrefix(normalized, "devflow/20-discovery/analysis") ||
120
- matchesPrefix(normalized, "devflow/20-discovery/reports") ||
121
- matchesPrefix(normalized, "devflow/20-discovery/research") ||
122
- matchesPrefix(normalized, "devflow/20-discovery/scratch") ||
123
- matchesPrefix(normalized, "devflow/20-discovery/brainstorm") ||
124
- matchesPrefix(normalized, "devflow/20-discovery/brainstorms") ||
125
- matchesPrefix(normalized, "devflow/60-docs/playbooks") ||
126
80
  matchesPrefix(normalized, "prototypes") ||
127
81
  matchesPrefix(normalized, "evals") ||
128
82
  matchesPrefix(normalized, ".nexus")) {
@@ -146,26 +100,18 @@ async function copyEntry(entry, inventory) {
146
100
  }
147
101
  }
148
102
  async function ensureEmptyDirectories() {
149
- const dirs = [
150
- path.join(templateRoot, "devflow", "00-context"),
151
- path.join(templateRoot, "devflow", "10-ideation"),
152
- path.join(templateRoot, "devflow", "20-discovery"),
153
- path.join(templateRoot, "devflow", "20-discovery", "discoveries"),
154
- path.join(templateRoot, "devflow", "20-discovery", "decisions"),
155
- path.join(templateRoot, "devflow", "30-planning"),
156
- path.join(templateRoot, "devflow", "40-tasks"),
157
- path.join(templateRoot, "devflow", "50-history"),
158
- path.join(templateRoot, "devflow", "50-history", "features"),
159
- path.join(templateRoot, "devflow", "50-history", "fixes"),
160
- path.join(templateRoot, "devflow", "50-history", "rollbacks"),
161
- path.join(templateRoot, "devflow", "60-docs")
162
- ];
163
- for (const dir of dirs) {
164
- await fs.mkdir(dir, { recursive: true });
165
- }
166
- await fs.writeFile(path.join(templateRoot, "devflow", "20-discovery", "discoveries", ".gitkeep"), "", "utf8");
167
- await fs.writeFile(path.join(templateRoot, "devflow", "20-discovery", "decisions", ".gitkeep"), "", "utf8");
168
- await fs.writeFile(path.join(templateRoot, "devflow", "40-tasks", ".gitkeep"), "", "utf8");
103
+ const discDir = path.join(templateRoot, "devflow", "discoveries");
104
+ const decDir = path.join(templateRoot, "devflow", "decisions");
105
+ const featDir = path.join(templateRoot, "devflow", "history", "features");
106
+ const fixDir = path.join(templateRoot, "devflow", "history", "fixes");
107
+ const rollDir = path.join(templateRoot, "devflow", "history", "rollbacks");
108
+ await fs.mkdir(discDir, { recursive: true });
109
+ await fs.mkdir(decDir, { recursive: true });
110
+ await fs.mkdir(featDir, { recursive: true });
111
+ await fs.mkdir(fixDir, { recursive: true });
112
+ await fs.mkdir(rollDir, { recursive: true });
113
+ await fs.writeFile(path.join(discDir, ".gitkeep"), "", "utf8");
114
+ await fs.writeFile(path.join(decDir, ".gitkeep"), "", "utf8");
169
115
  }
170
116
  async function sanitizeStarterFiles() {
171
117
  // 1. Sanitize AGENTS.md
@@ -208,9 +154,7 @@ This master ledger tracks all released delivery runs, milestones, and rollbacks
208
154
  - **\`fixes/\`**: Bug fixes, hotfixes, regressions, security patches, and performance optimizations.
209
155
  - **\`rollbacks/\`**: Safe feature reversal and rollback execution records.
210
156
  `;
211
- const historyPath = path.join(templateRoot, "devflow", "50-history", "HISTORY.md");
212
- await fs.mkdir(path.dirname(historyPath), { recursive: true });
213
- await fs.writeFile(historyPath, starterHistory, "utf8");
157
+ await fs.writeFile(path.join(templateRoot, "devflow", "history", "HISTORY.md"), starterHistory, "utf8");
214
158
  // 3. Clean Starter ideas.md
215
159
  const starterIdeas = `# 🔮 Centralized Idea Inbox & Backlog
216
160
 
@@ -232,9 +176,7 @@ This master ledger tracks all released delivery runs, milestones, and rollbacks
232
176
  | ID | Title | Shipped In | Completed Date |
233
177
  | :--- | :--- | :--- | :--- |
234
178
  `;
235
- const ideasPath = path.join(templateRoot, "devflow", "10-ideation", "ideas.md");
236
- await fs.mkdir(path.dirname(ideasPath), { recursive: true });
237
- await fs.writeFile(ideasPath, starterIdeas, "utf8");
179
+ await fs.writeFile(path.join(templateRoot, "devflow", "ideas.md"), starterIdeas, "utf8");
238
180
  // 4. Clean Starter project-overview.md
239
181
  const starterOverview = `# Project Overview & Source of Truth
240
182
 
@@ -264,9 +206,7 @@ This master ledger tracks all released delivery runs, milestones, and rollbacks
264
206
  ## 7. Known Architectural Focus Areas
265
207
  - Upcoming priorities, refactoring targets, or known technical considerations.
266
208
  `;
267
- const overviewPath = path.join(templateRoot, "devflow", "00-context", "project-overview.md");
268
- await fs.mkdir(path.dirname(overviewPath), { recursive: true });
269
- await fs.writeFile(overviewPath, starterOverview, "utf8");
209
+ await fs.writeFile(path.join(templateRoot, "devflow", "context", "project-overview.md"), starterOverview, "utf8");
270
210
  }
271
211
  async function main() {
272
212
  const inventory = await loadCoreSkillInventory(path.join(repoRoot, "agent-bundle.manifest.json"));
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare-template.js","sourceRoot":"","sources":["../../scripts/prepare-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAEL,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AAExC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAExD,MAAM,OAAO,GAAG;IACd,WAAW;IACX,WAAW;IACX,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,SAAS,aAAa,CAAC,QAAgB,EAAE,MAAc;IACrD,OAAO,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,KAAa,EAAE,SAA6B;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE;YAC1B,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBACd,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACpE,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;oBACtD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,aAAa,CAAC,UAAU,EAAE,gBAAgB,CAAC,EAAE,CAAC;oBAChD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBACzC,UAAU,KAAK,iBAAiB;oBAChC,UAAU,KAAK,qCAAqC;oBACpD,UAAU,KAAK,qCAAqC;oBACpD,UAAU,KAAK,mCAAmC;oBAClD,UAAU,KAAK,6BAA6B,EAC5C,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC;oBACtC,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,2BAA2B,CAAC;oBAClD,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,wBAAwB,CAAC;oBAC/C,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,4BAA4B,CAAC;oBACnD,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,sBAAsB,CAAC;oBAC7C,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC;oBAC3C,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChC,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EACjC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC;oBAC1C,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC;oBAC7C,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC;oBAC5C,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC;oBACxC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC;oBACzC,aAAa,CAAC,UAAU,EAAE,oBAAoB,CAAC;oBAC/C,aAAa,CAAC,UAAU,EAAE,qBAAqB,CAAC;oBAChD,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC;oBAC5C,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC;oBAC5C,aAAa,CAAC,UAAU,EAAE,wBAAwB,CAAC;oBACnD,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC;oBAC7C,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC;oBACvC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC;oBAClC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EACnC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC;oBAC5C,aAAa,CAAC,UAAU,EAAE,oCAAoC,CAAC;oBAC/D,aAAa,CAAC,UAAU,EAAE,sCAAsC,CAAC;oBACjE,aAAa,CAAC,UAAU,EAAE,+CAA+C,CAAC;oBAC1E,aAAa,CAAC,UAAU,EAAE,kCAAkC,CAAC,EAC7D,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAE3E,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,wBAAwB;IACxB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACxD,IAAI,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,uBAAuB,GAAG,oCAAoC,CAAC;QACrE,MAAM,eAAe,GAAG;;;;;;CAM3B,CAAC;QACE,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;QAChF,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IACtE,CAAC;IAED,8BAA8B;IAC9B,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC;IACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAExG,4BAA4B;IAC5B,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;CAmBtB,CAAC;IACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAEzF,uCAAuC;IACvC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BzB,CAAC;IACA,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;AACpH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAClD,CAAC;IACF,MAAM,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5F,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,sBAAsB,EAAE,CAAC;IAC/B,MAAM,oBAAoB,EAAE,CAAC;AAC/B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakkrichm/create-nexus-devflow",
3
- "version": "2.17.0",
3
+ "version": "2.17.2",
4
4
  "description": "Installer and workflow manager for Nexus-DevFlow agentic workflow layer.",
5
5
  "license": "MIT",
6
6
  "author": "Jakkrich",
@@ -5,21 +5,20 @@ Instructions for AI coding agents working in this project. This is the cross-too
5
5
  ## What this is
6
6
 
7
7
  This project uses **Nexus-DevFlow**, an agentic workflow layer supporting **The 3-Pillars Workspace Architecture & Pure Task-Isolated Living Spec Model**:
8
- 1. **🔮 Future (Backlog)**: `devflow/ideas.md`, `devflow/project-plan.md`, `devflow/build-plan.md` (or Decade-Numbered `devflow/10-ideation/` & `devflow/30-planning/`).
9
- 2. **⚡ Present (Active Context)**: `devflow/context/` (or Decade-Numbered `devflow/00-context/`) — Global Shared Source of Truth (`project-overview.md`, `coding-standards.md`, `ai-interaction.md`, `glossary.md`) & Active Task Workspaces (`devflow/context/{xxx-slug}/` or `devflow/40-tasks/{xxx-slug}/`).
10
- 3. **📦 Past (History Archive)**: `devflow/history/` (or Decade-Numbered `devflow/50-history/`) — Categorized delivery archives (`features/`, `fixes/`, `rollbacks/`, and `HISTORY.md`).
8
+ 1. **🔮 Future (Backlog)**: `devflow/ideas.md`, `devflow/project-plan.md`, `devflow/build-plan.md` — Centralized Idea Inbox & Master Build Plan.
9
+ 2. **⚡ Present (Active Context)**: `devflow/context/` — Global Shared Source of Truth (`project-overview.md`, `coding-standards.md`, `ai-interaction.md`, `glossary.md`) & Active Task Workspaces (`devflow/context/{xxx-slug}/`).
10
+ 3. **📦 Past (History Archive)**: `devflow/history/` — Categorized delivery archives (`features/`, `fixes/`, `rollbacks/`, and `HISTORY.md`).
11
11
 
12
- To start a new project, scaffold the application first in an empty folder, then run `npx nexus-devflow` (or `npm create @jakkrichm/nexus-devflow`) to overlay DevFlow onto your codebase. To migrate an existing workspace to the Decade-Numbered Stages structure (`00-context`, `10-ideation`, `20-discovery`, `30-planning`, `40-tasks`, `50-history`, `60-docs`), run `npx nexus-devflow migrate-structure`.
12
+ To start a new project, scaffold the application first in an empty folder, then run `npx nexus-devflow` (or `npm create @jakkrichm/nexus-devflow`) to overlay DevFlow onto your codebase.
13
13
 
14
14
  ## Read these for full context
15
15
 
16
16
  - `devflow/config.json` - deterministic project workflow settings
17
- - `devflow/00-context/` (or `devflow/context/`) `project-overview.md` - the project's source of truth
18
- - `devflow/00-context/` (or `devflow/context/`) `coding-standards.md` - engineering conventions & rules to follow
19
- - `devflow/00-context/` (or `devflow/context/`) `ai-interaction.md` - how to interact with the user on this project
20
- - `devflow/00-context/` (or `devflow/context/`) `glossary.md` - domain terms & architecture definitions
21
- - `devflow/40-tasks/{xxx-slug}/` (or `devflow/context/{xxx-slug}/`) - active task living spec, stage, findings ledger, and independent review receipt
22
-
17
+ - `devflow/context/project-overview.md` - the project's source of truth
18
+ - `devflow/context/coding-standards.md` - engineering conventions & rules to follow
19
+ - `devflow/context/ai-interaction.md` - how to interact with the user on this project
20
+ - `devflow/context/glossary.md` - domain terms & architecture definitions
21
+ - `devflow/context/{xxx-slug}/` - active task living spec, stage, findings ledger, and independent review receipt
23
22
 
24
23
  ## Project configuration
25
24
 
@@ -285,18 +285,11 @@
285
285
  - *Dependencies*: Feature 28 (`073`), DISC-20260911-001
286
286
  - *Scope*: นำเข้า 5 เสาหลักความปลอดภัยและความแม่นยำจาก AI Blueprint v1.6.1: (1) ปฏิเสธ Symlink paths และตรวจ type compatibility ในตัวติดตั้ง `create-nexus-devflow`, (2) สร้างสัญญา `completion-recovery.md` พร้อม JSON comment annotation `<!-- devflow:completion ... -->` กู้คืนการส่งมอบงานที่สะดุด, (3) สร้างสัญญา `build-history.md` รองรับการตั้งชื่อ `--build-N` เมื่อ Rebuild ฟีเจอร์ที่เคยถูก Rollback, (4) ขยาย `lib/review.ts` ให้รองรับ `specSnapshot` สำหรับ Local-only spec review, (5) บูรณาการ `classifyWorkEvidence` ใน `project-status-engine.ts` และ `dashboard.ts` ป้องกัน False Ready State เมื่อ verification failed หรือพบ malformed records, (6) ซิงก์สคิลและเอกสารทั้ง `.agents/` และ `.claude/` พร้อม automated tests ผ่าน 100%
287
287
 
288
+ ---
289
+
288
290
  ## 🔌 Phase 37: AI-Orchestrated Project-Local Vendor Skill Ingestion (`/vendor`)
289
291
 
290
292
  - [x] **37. AI-Orchestrated Project-Local Vendor Skill Ingestion (`DISC-20260911-002`, `087-ai-orchestrated-vendor-skill-ingestion`)** `[Size: M]`
291
293
  - *Dependencies*: Feature 33 (`083`), Feature 34 (`084`), DISC-20260911-002
292
294
  - *Scope*: พัฒนาคำสั่ง `/vendor` (พร้อม aliases: `skill-add`, `equip`, `ingest`) สำหรับนำเข้า Git repository ลงในระดับโปรเจกต์ `devflow/.vendor/<slug>/`, ให้ AI Agent สำรวจโค้ดและสังเคราะห์ Custom Wrapper Skill ใน `.agents/skills/<slug>/SKILL.md` และ `.claude/skills/<slug>/SKILL.md`, พัฒนากลไก Update Protection ใน `update.ts` เพื่อป้องกันไม่ให้คำสั่งอัปเดต DevFlow ลบ custom skills เหล่านี้, บันทึก metadata ลง `.nexus/nexus-devflow.json`, ปรับปรุง CLI `nexus-devflow skill update all` ให้รองรับการ pull upstream ใน `.vendor/` โดยคงรักษา custom wrapper ที่ AI เขียนไว้, พร้อมเขียน Automated Unit Tests ครอบคลุม 100%
293
295
 
294
- ---
295
-
296
- ## 📂 Phase 38: Decade-Numbered Folder Architecture & Multi-Version Migration Engine
297
-
298
- - [x] **38. Decade-Numbered Folder Architecture, Legacy Path Resolver & Structure Migration Engine (`REQ-20260911-001`, `088-decade-numbered-folder-architecture`)** `[Size: M]`
299
- - *Dependencies*: None
300
- - *Scope*: ปรับสถาปัตยกรรมโฟลเดอร์ของ DevFlow ให้จัดเรียงตาม Decade-Numbered Stages (`00-context`, `10-ideation`, `20-discovery`, `30-planning`, `40-tasks`, `50-history`, `60-docs`), สร้าง Dynamic Path Resolver Engine รองรับ Client เวอร์ชันเก่าแบบ Zero-Breaking Change, พัฒนา CLI Subcommand `nexus-devflow migrate-structure` ทำการย้ายโฟลเดอร์และอัปเดต Manifest/Config อัตโนมัติ, ลบโฟลเดอร์ Legacy `devflow/runs/`, อัปเดตคู่มือ `AGENTS.md`, `CLAUDE.md`, `README.md`, Playbooks และเขียน Automated Tests ครอบคลุม
301
-
302
-
@@ -1,8 +0,0 @@
1
- export interface MigrationResult {
2
- success: boolean;
3
- moved: string[];
4
- warnings: string[];
5
- }
6
- export declare function migrateDevflowStructure(projectRoot: string): Promise<MigrationResult>;
7
- import type { ToolCommand } from "../types.js";
8
- export declare const migrateStructureCommand: ToolCommand<MigrationResult>;
@@ -1,197 +0,0 @@
1
- import fs from "node:fs/promises";
2
- import path from "node:path";
3
- async function pathExists(p) {
4
- try {
5
- await fs.stat(p);
6
- return true;
7
- }
8
- catch {
9
- return false;
10
- }
11
- }
12
- async function movePath(src, dest, moved, warnings) {
13
- if (!(await pathExists(src)))
14
- return;
15
- if (path.resolve(src) === path.resolve(dest))
16
- return;
17
- await fs.mkdir(path.dirname(dest), { recursive: true });
18
- try {
19
- await fs.rename(src, dest);
20
- moved.push(`${src} -> ${dest}`);
21
- }
22
- catch (err) {
23
- try {
24
- const stat = await fs.stat(src);
25
- if (stat.isDirectory()) {
26
- await fs.cp(src, dest, { recursive: true });
27
- await fs.rm(src, { recursive: true, force: true });
28
- }
29
- else {
30
- await fs.copyFile(src, dest);
31
- await fs.unlink(src);
32
- }
33
- moved.push(`${src} -> ${dest}`);
34
- }
35
- catch (fallbackErr) {
36
- warnings.push(`Failed to move ${src} -> ${dest}: ${fallbackErr.message}`);
37
- }
38
- }
39
- }
40
- export async function migrateDevflowStructure(projectRoot) {
41
- const moved = [];
42
- const warnings = [];
43
- const devflowDir = path.join(projectRoot, "devflow");
44
- if (!(await pathExists(devflowDir))) {
45
- return {
46
- success: false,
47
- moved: [],
48
- warnings: ["Directory devflow does not exist"]
49
- };
50
- }
51
- // Ensure target decade directories exist
52
- const targetDirs = [
53
- "00-context",
54
- "10-ideation",
55
- "20-discovery",
56
- "30-planning",
57
- "40-tasks",
58
- "50-history",
59
- "60-docs"
60
- ];
61
- for (const d of targetDirs) {
62
- await fs.mkdir(path.join(devflowDir, d), { recursive: true });
63
- }
64
- // 1. Handle devflow/context/
65
- const oldContextDir = path.join(devflowDir, "context");
66
- if (await pathExists(oldContextDir)) {
67
- const entries = await fs.readdir(oldContextDir, { withFileTypes: true });
68
- for (const entry of entries) {
69
- const src = path.join(oldContextDir, entry.name);
70
- if (entry.isDirectory()) {
71
- // Active task folder -> devflow/40-tasks/{task-slug}
72
- const dest = path.join(devflowDir, "40-tasks", entry.name);
73
- await movePath(src, dest, moved, warnings);
74
- }
75
- else {
76
- // Context file -> devflow/00-context/{file}
77
- const dest = path.join(devflowDir, "00-context", entry.name);
78
- await movePath(src, dest, moved, warnings);
79
- }
80
- }
81
- // Remove empty old context dir
82
- try {
83
- await fs.rm(oldContextDir, { recursive: true, force: true });
84
- }
85
- catch {
86
- // ignore
87
- }
88
- }
89
- // 2. Handle 10-ideation (ideas.md, inbox/, reference/)
90
- await movePath(path.join(devflowDir, "ideas.md"), path.join(devflowDir, "10-ideation", "ideas.md"), moved, warnings);
91
- await movePath(path.join(devflowDir, "inbox"), path.join(devflowDir, "10-ideation", "inbox"), moved, warnings);
92
- await movePath(path.join(devflowDir, "reference"), path.join(devflowDir, "10-ideation", "reference"), moved, warnings);
93
- // 3. Handle 20-discovery (analysis/, discoveries/, decisions/, research/)
94
- await movePath(path.join(devflowDir, "analysis"), path.join(devflowDir, "20-discovery", "analysis"), moved, warnings);
95
- await movePath(path.join(devflowDir, "discoveries"), path.join(devflowDir, "20-discovery", "discoveries"), moved, warnings);
96
- await movePath(path.join(devflowDir, "decisions"), path.join(devflowDir, "20-discovery", "decisions"), moved, warnings);
97
- await movePath(path.join(devflowDir, "research"), path.join(devflowDir, "20-discovery", "research"), moved, warnings);
98
- // 4. Handle 30-planning (project-plan.md, build-plan.md)
99
- await movePath(path.join(devflowDir, "project-plan.md"), path.join(devflowDir, "30-planning", "project-plan.md"), moved, warnings);
100
- await movePath(path.join(devflowDir, "build-plan.md"), path.join(devflowDir, "30-planning", "build-plan.md"), moved, warnings);
101
- // 5. Handle 50-history (history/)
102
- const oldHistoryDir = path.join(devflowDir, "history");
103
- if (await pathExists(oldHistoryDir)) {
104
- const historyEntries = await fs.readdir(oldHistoryDir, { withFileTypes: true });
105
- for (const entry of historyEntries) {
106
- const src = path.join(oldHistoryDir, entry.name);
107
- const dest = path.join(devflowDir, "50-history", entry.name);
108
- await movePath(src, dest, moved, warnings);
109
- }
110
- try {
111
- await fs.rm(oldHistoryDir, { recursive: true, force: true });
112
- }
113
- catch {
114
- // ignore
115
- }
116
- }
117
- // 6. Handle 60-docs (docs/)
118
- const oldDocsDir = path.join(devflowDir, "docs");
119
- if (await pathExists(oldDocsDir)) {
120
- const docsEntries = await fs.readdir(oldDocsDir, { withFileTypes: true });
121
- for (const entry of docsEntries) {
122
- const src = path.join(oldDocsDir, entry.name);
123
- const dest = path.join(devflowDir, "60-docs", entry.name);
124
- await movePath(src, dest, moved, warnings);
125
- }
126
- try {
127
- await fs.rm(oldDocsDir, { recursive: true, force: true });
128
- }
129
- catch {
130
- // ignore
131
- }
132
- }
133
- // 7. Clean up legacy runs folder
134
- const oldRunsDir = path.join(devflowDir, "runs");
135
- if (await pathExists(oldRunsDir)) {
136
- try {
137
- await fs.rm(oldRunsDir, { recursive: true, force: true });
138
- moved.push(`${oldRunsDir} (removed legacy runs folder)`);
139
- }
140
- catch {
141
- // ignore
142
- }
143
- }
144
- // 8. Update manifest if present
145
- const manifestPath = path.join(projectRoot, ".nexus", "nexus-devflow.json");
146
- if (await pathExists(manifestPath)) {
147
- try {
148
- const manifestContent = await fs.readFile(manifestPath, "utf8");
149
- const manifest = JSON.parse(manifestContent);
150
- const isAlreadyDecade = manifest.workspace?.contextDir === "devflow/00-context";
151
- if (!isAlreadyDecade) {
152
- manifest.workspace = {
153
- ...manifest.workspace,
154
- contextDir: "devflow/00-context",
155
- ideationDir: "devflow/10-ideation",
156
- discoveryDir: "devflow/20-discovery",
157
- planningDir: "devflow/30-planning",
158
- tasksDir: "devflow/40-tasks",
159
- historyDir: "devflow/50-history",
160
- docsDir: "devflow/60-docs"
161
- };
162
- delete manifest.workspace.runsDir;
163
- await fs.writeFile(manifestPath, JSON.stringify(manifest, null, 2), "utf8");
164
- moved.push(`${manifestPath} (updated workspace paths)`);
165
- }
166
- }
167
- catch (err) {
168
- warnings.push(`Could not update manifest: ${err.message}`);
169
- }
170
- }
171
- return {
172
- success: true,
173
- moved,
174
- warnings
175
- };
176
- }
177
- export const migrateStructureCommand = {
178
- name: "migrate-structure",
179
- description: "Migrate legacy devflow folder structure to Decade-Numbered layout (00-context, 10-ideation, etc.)",
180
- async run(args, options) {
181
- const projectRoot = options?.projectRoot || options?.cwd || process.cwd();
182
- const result = await migrateDevflowStructure(projectRoot);
183
- if (!result.success) {
184
- return {
185
- ok: false,
186
- message: result.warnings.join("\n") || "Migration failed",
187
- data: result
188
- };
189
- }
190
- return {
191
- ok: true,
192
- message: `Successfully migrated devflow structure (${result.moved.length} items processed)`,
193
- data: result
194
- };
195
- }
196
- };
197
- //# sourceMappingURL=migrate-structure.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrate-structure.js","sourceRoot":"","sources":["../../../../lib/tooling/commands/migrate-structure.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- export interface WorkspacePaths {
2
- contextDir: string;
3
- ideationDir: string;
4
- discoveryDir: string;
5
- planningDir: string;
6
- tasksDir: string;
7
- historyDir: string;
8
- docsDir: string;
9
- referenceDir: string;
10
- isDecadeNumbered: boolean;
11
- }
12
- export declare const LEGACY_WORKSPACE_PATHS: WorkspacePaths;
13
- export declare const DECADE_NUMBERED_WORKSPACE_PATHS: WorkspacePaths;
14
- export declare function isDecadeNumberedLayout(projectRoot: string): Promise<boolean>;
15
- export declare function resolveWorkspacePaths(projectRoot: string): Promise<WorkspacePaths>;
@@ -1,61 +0,0 @@
1
- import fs from "node:fs/promises";
2
- import path from "node:path";
3
- export const LEGACY_WORKSPACE_PATHS = {
4
- contextDir: "devflow/context",
5
- ideationDir: "devflow",
6
- discoveryDir: "devflow/discoveries",
7
- planningDir: "devflow",
8
- tasksDir: "devflow/context",
9
- historyDir: "devflow/history",
10
- docsDir: "devflow/docs",
11
- referenceDir: "devflow/reference",
12
- isDecadeNumbered: false
13
- };
14
- export const DECADE_NUMBERED_WORKSPACE_PATHS = {
15
- contextDir: "devflow/00-context",
16
- ideationDir: "devflow/10-ideation",
17
- discoveryDir: "devflow/20-discovery",
18
- planningDir: "devflow/30-planning",
19
- tasksDir: "devflow/40-tasks",
20
- historyDir: "devflow/50-history",
21
- docsDir: "devflow/60-docs",
22
- referenceDir: "devflow/10-ideation/reference",
23
- isDecadeNumbered: true
24
- };
25
- export async function isDecadeNumberedLayout(projectRoot) {
26
- try {
27
- const stat = await fs.stat(path.join(projectRoot, "devflow", "00-context"));
28
- return stat.isDirectory();
29
- }
30
- catch {
31
- return false;
32
- }
33
- }
34
- export async function resolveWorkspacePaths(projectRoot) {
35
- // 1. Check manifest for custom workspace configuration
36
- try {
37
- const manifestPath = path.join(projectRoot, ".nexus", "nexus-devflow.json");
38
- const content = await fs.readFile(manifestPath, "utf8");
39
- const manifest = JSON.parse(content);
40
- if (manifest && typeof manifest === "object" && manifest.workspace) {
41
- const isDecade = Boolean(manifest.workspace.contextDir?.includes("00-context") ||
42
- (await isDecadeNumberedLayout(projectRoot)));
43
- const base = isDecade ? DECADE_NUMBERED_WORKSPACE_PATHS : LEGACY_WORKSPACE_PATHS;
44
- return {
45
- ...base,
46
- ...manifest.workspace,
47
- isDecadeNumbered: isDecade
48
- };
49
- }
50
- }
51
- catch {
52
- // Fall through to auto-detection
53
- }
54
- // 2. Physical directory inspection
55
- if (await isDecadeNumberedLayout(projectRoot)) {
56
- return { ...DECADE_NUMBERED_WORKSPACE_PATHS };
57
- }
58
- // 3. Fallback to legacy flat layout
59
- return { ...LEGACY_WORKSPACE_PATHS };
60
- }
61
- //# sourceMappingURL=workspace-paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-paths.js","sourceRoot":"","sources":["../../lib/workspace-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAc7B,MAAM,CAAC,MAAM,sBAAsB,GAAmB;IACpD,UAAU,EAAE,iBAAiB;IAC7B,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,qBAAqB;IACnC,WAAW,EAAE,SAAS;IACtB,QAAQ,EAAE,iBAAiB;IAC3B,UAAU,EAAE,iBAAiB;IAC7B,OAAO,EAAE,cAAc;IACvB,YAAY,EAAE,mBAAmB;IACjC,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAmB;IAC7D,UAAU,EAAE,oBAAoB;IAChC,WAAW,EAAE,qBAAqB;IAClC,YAAY,EAAE,sBAAsB;IACpC,WAAW,EAAE,qBAAqB;IAClC,QAAQ,EAAE,kBAAkB;IAC5B,UAAU,EAAE,oBAAoB;IAChC,OAAO,EAAE,iBAAiB;IAC1B,YAAY,EAAE,+BAA+B;IAC7C,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IAC9D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IAC7D,uDAAuD;IACvD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAG,OAAO,CACtB,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC;gBACrD,CAAC,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAC5C,CAAC;YACF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,sBAAsB,CAAC;YACjF,OAAO;gBACL,GAAG,IAAI;gBACP,GAAG,QAAQ,CAAC,SAAS;gBACrB,gBAAgB,EAAE,QAAQ;aAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,mCAAmC;IACnC,IAAI,MAAM,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,GAAG,+BAA+B,EAAE,CAAC;IAChD,CAAC;IAED,oCAAoC;IACpC,OAAO,EAAE,GAAG,sBAAsB,EAAE,CAAC;AACvC,CAAC"}
File without changes
@@ -1,11 +0,0 @@
1
- # ⚡ 40-tasks: Active Living Spec Workspaces
2
-
3
- This directory contains active, isolated task workspaces (`{xxx-slug}/`) during development.
4
-
5
- Each active task folder contains:
6
- - `spec.md` - Task-isolated living specification and implementation checklist
7
- - `stage.md` - Lifecycle stage tracker (`defined`, `in-progress`, `checked`, `verified`)
8
- - `findings.md` - Dedicated findings ledger for audit and verification proof
9
- - `review.md` - Optional independent review request and receipt
10
-
11
- When a task is completed via `/complete`, its spec is archived to `devflow/50-history/features/` (or `fixes/`, `rollbacks/`) and the active folder in `40-tasks/` is cleanly removed.