@jakkrichm/create-nexus-devflow 2.16.4 → 2.17.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 (92) hide show
  1. package/dist/bin/create-nexus-devflow.d.ts +1 -1
  2. package/dist/bin/create-nexus-devflow.js +41 -2
  3. package/dist/bin/create-nexus-devflow.js.map +1 -1
  4. package/dist/lib/project-status-engine.d.ts +11 -3
  5. package/dist/lib/project-status-engine.js +99 -17
  6. package/dist/lib/project-status-engine.js.map +1 -1
  7. package/dist/lib/review.d.ts +1 -0
  8. package/dist/lib/review.js +58 -3
  9. package/dist/lib/review.js.map +1 -1
  10. package/dist/lib/skill-registry-engine.js +1 -1
  11. package/dist/lib/skill-registry-engine.js.map +1 -1
  12. package/dist/lib/status.d.ts +3 -3
  13. package/dist/lib/status.js +2 -2
  14. package/dist/lib/status.js.map +1 -1
  15. package/dist/lib/tooling/commands/migrate-structure.d.ts +8 -0
  16. package/dist/lib/tooling/commands/migrate-structure.js +197 -0
  17. package/dist/lib/tooling/commands/migrate-structure.js.map +1 -0
  18. package/dist/lib/tooling/commands/summarize-run-status.js +3 -1
  19. package/dist/lib/tooling/commands/summarize-run-status.js.map +1 -1
  20. package/dist/lib/tooling/registry.js +2 -0
  21. package/dist/lib/tooling/registry.js.map +1 -1
  22. package/dist/lib/update.d.ts +29 -3
  23. package/dist/lib/update.js +76 -0
  24. package/dist/lib/update.js.map +1 -1
  25. package/dist/lib/workspace-paths.d.ts +15 -0
  26. package/dist/lib/workspace-paths.js +61 -0
  27. package/dist/lib/workspace-paths.js.map +1 -0
  28. package/dist/scripts/prepare-template.js +75 -15
  29. package/dist/scripts/prepare-template.js.map +1 -1
  30. package/package.json +1 -1
  31. package/template/.agents/skills/analyze/SKILL.md +21 -21
  32. package/template/.agents/skills/audit/SKILL.md +36 -18
  33. package/template/.agents/skills/audit/reference/independent-review.md +58 -2
  34. package/template/.agents/skills/brainstorm/SKILL.md +1 -1
  35. package/template/.agents/skills/complete/SKILL.md +23 -1
  36. package/template/.agents/skills/complete/reference/completion-recovery.md +248 -0
  37. package/template/.agents/skills/continuous/SKILL.md +156 -82
  38. package/template/.agents/skills/feature/SKILL.md +6 -0
  39. package/template/.agents/skills/feature/reference/build-history.md +79 -0
  40. package/template/.agents/skills/idea/SKILL.md +14 -14
  41. package/template/.agents/skills/rollback/SKILL.md +23 -10
  42. package/template/.claude/skills/analyze/SKILL.md +21 -21
  43. package/template/.claude/skills/audit/SKILL.md +33 -16
  44. package/template/.claude/skills/audit/reference/independent-review.md +58 -2
  45. package/template/.claude/skills/brainstorm/SKILL.md +1 -1
  46. package/template/.claude/skills/complete/SKILL.md +23 -1
  47. package/template/.claude/skills/complete/reference/completion-recovery.md +248 -0
  48. package/template/.claude/skills/continuous/SKILL.md +156 -82
  49. package/template/.claude/skills/feature/SKILL.md +6 -0
  50. package/template/.claude/skills/feature/reference/build-history.md +79 -0
  51. package/template/.claude/skills/idea/SKILL.md +14 -14
  52. package/template/.claude/skills/rollback/SKILL.md +23 -10
  53. package/template/AGENTS.md +11 -10
  54. package/template/devflow/{context → 00-context}/ai-interaction.md +1 -1
  55. package/template/devflow/{build-plan.md → 30-planning/build-plan.md} +24 -0
  56. package/template/devflow/40-tasks/.gitkeep +0 -0
  57. package/template/devflow/40-tasks/README.md +11 -0
  58. package/template/devflow/60-docs/migration-guide-decade-numbered.md +93 -0
  59. /package/template/devflow/{context → 00-context}/coding-standards.md +0 -0
  60. /package/template/devflow/{context → 00-context}/glossary.md +0 -0
  61. /package/template/devflow/{context → 00-context}/project-overview.md +0 -0
  62. /package/template/devflow/{ideas.md → 10-ideation/ideas.md} +0 -0
  63. /package/template/devflow/{reference → 10-ideation/reference}/build-plan-template.md +0 -0
  64. /package/template/devflow/{reference → 10-ideation/reference}/feature-spec-template.md +0 -0
  65. /package/template/devflow/{reference → 10-ideation/reference}/mockup.html +0 -0
  66. /package/template/devflow/{reference → 10-ideation/reference}/project-overview-template.md +0 -0
  67. /package/template/devflow/{reference → 10-ideation/reference}/project-plan-template.md +0 -0
  68. /package/template/devflow/{reference → 10-ideation/reference}/running-id-contract.md +0 -0
  69. /package/template/devflow/{decisions → 20-discovery/decisions}/.gitkeep +0 -0
  70. /package/template/devflow/{decisions → 20-discovery/decisions}/README.md +0 -0
  71. /package/template/devflow/{discoveries → 20-discovery/discoveries}/.gitkeep +0 -0
  72. /package/template/devflow/{project-plan.md → 30-planning/project-plan.md} +0 -0
  73. /package/template/devflow/{history → 50-history}/HISTORY.md +0 -0
  74. /package/template/devflow/{history → 50-history}/features/README.md +0 -0
  75. /package/template/devflow/{history → 50-history}/fixes/README.md +0 -0
  76. /package/template/devflow/{history → 50-history}/rollbacks/README.md +0 -0
  77. /package/template/devflow/{docs → 60-docs}/USAGE.md +0 -0
  78. /package/template/devflow/{docs → 60-docs}/diagrams/nexus-devflow-architecture.html +0 -0
  79. /package/template/devflow/{docs → 60-docs}/diagrams/nexus-devflow-architecture.json +0 -0
  80. /package/template/devflow/{docs → 60-docs}/diagrams/nexus-devflow-lifecycle.html +0 -0
  81. /package/template/devflow/{docs → 60-docs}/diagrams/nexus-devflow-lifecycle.json +0 -0
  82. /package/template/devflow/{docs → 60-docs}/examples/living-spec/adr.example.md +0 -0
  83. /package/template/devflow/{docs → 60-docs}/examples/living-spec/current-feature.example.md +0 -0
  84. /package/template/devflow/{docs → 60-docs}/examples/living-spec/discovery.example.md +0 -0
  85. /package/template/devflow/{docs → 60-docs}/examples/living-spec/ideas.example.md +0 -0
  86. /package/template/devflow/{docs → 60-docs}/governance-rules.md +0 -0
  87. /package/template/devflow/{docs → 60-docs}/manual-review-workflow-spec.md +0 -0
  88. /package/template/devflow/{docs → 60-docs}/markdown-metadata-contract.md +0 -0
  89. /package/template/devflow/{docs → 60-docs}/quickstart.md +0 -0
  90. /package/template/devflow/{docs → 60-docs}/release-process.md +0 -0
  91. /package/template/devflow/{docs → 60-docs}/skill-selection-policy.md +0 -0
  92. /package/template/devflow/{docs → 60-docs}/workflow-surface-map.md +0 -0
@@ -0,0 +1,197 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-structure.js","sourceRoot":"","sources":["../../../../lib/tooling/commands/migrate-structure.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,9 @@ export const summarizeRunStatusCommand = {
29
29
  i++;
30
30
  }
31
31
  }
32
- const contextDir = path.join(projectRoot, "devflow", "context");
32
+ const decadeTasksDir = path.join(projectRoot, "devflow", "40-tasks");
33
+ const legacyContextDir = path.join(projectRoot, "devflow", "context");
34
+ const contextDir = fs.existsSync(decadeTasksDir) ? decadeTasksDir : legacyContextDir;
33
35
  let activeStage = "idle";
34
36
  let activeTask = null;
35
37
  if (fs.existsSync(contextDir)) {
@@ -1 +1 @@
1
- {"version":3,"file":"summarize-run-status.js","sourceRoot":"","sources":["../../../../lib/tooling/commands/summarize-run-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarize-run-status.js","sourceRoot":"","sources":["../../../../lib/tooling/commands/summarize-run-status.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ import { linkProjectCommand } from "./commands/link-project.js";
41
41
  import { scanDocContractCommand } from "./commands/scan-doc-contract.js";
42
42
  import { scanSecurityHygieneCommand } from "./commands/scan-security-hygiene.js";
43
43
  import { skillDescriptionsCommand } from "./commands/skill-descriptions.js";
44
+ import { migrateStructureCommand } from "./commands/migrate-structure.js";
44
45
  // Register built-in commands
45
46
  registerToolCommand(helpCommand);
46
47
  registerToolCommand(listCommand);
@@ -53,4 +54,5 @@ registerToolCommand(linkProjectCommand);
53
54
  registerToolCommand(scanDocContractCommand);
54
55
  registerToolCommand(scanSecurityHygieneCommand);
55
56
  registerToolCommand(skillDescriptionsCommand);
57
+ registerToolCommand(migrateStructureCommand);
56
58
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../lib/tooling/registry.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,wBAAwB;AACxB,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,qCAAqC;IAClD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,QAAQ;aACzB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,OAAO,GAAG,gCAAgC,WAAW,EAAE,CAAC;QAC9D,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO;YACP,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,sDAAsD;IACnE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QACrB,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,6BAA6B;AAC7B,mBAAmB,CAAC,WAAW,CAAC,CAAC;AACjC,mBAAmB,CAAC,WAAW,CAAC,CAAC;AACjC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AACvC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AACvC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;AACnD,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;AAClD,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;AAC/C,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;AACxC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;AAC5C,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;AAChD,mBAAmB,CAAC,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../lib/tooling/registry.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,wBAAwB;AACxB,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,qCAAqC;IAClD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,QAAQ;aACzB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,OAAO,GAAG,gCAAgC,WAAW,EAAE,CAAC;QAC9D,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO;YACP,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,sDAAsD;IACnE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO;QACrB,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,6BAA6B;AAC7B,mBAAmB,CAAC,WAAW,CAAC,CAAC;AACjC,mBAAmB,CAAC,WAAW,CAAC,CAAC;AACjC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AACvC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AACvC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;AACnD,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;AAClD,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;AAC/C,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;AACxC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;AAC5C,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;AAChD,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;AAC9C,mBAAmB,CAAC,uBAAuB,CAAC,CAAC"}
@@ -14,9 +14,14 @@ export interface Manifest {
14
14
  workspace: {
15
15
  contextDir: string;
16
16
  historyDir: string;
17
- referenceDir: string;
18
- runsDir: string;
19
- discoveriesDir: string;
17
+ referenceDir?: string;
18
+ runsDir?: string;
19
+ discoveriesDir?: string;
20
+ decisionsDir?: string;
21
+ ideationDir?: string;
22
+ planningDir?: string;
23
+ tasksDir?: string;
24
+ docsDir?: string;
20
25
  };
21
26
  lifecycle: {
22
27
  fastTrackStages: string[];
@@ -24,6 +29,25 @@ export interface Manifest {
24
29
  companionCommands: string[];
25
30
  };
26
31
  managedFiles: Record<string, string>;
32
+ thirdPartySkills?: Array<{
33
+ name: string;
34
+ source: string;
35
+ version?: string;
36
+ description?: string;
37
+ installedAt?: string;
38
+ type?: string;
39
+ referencePath?: string;
40
+ }>;
41
+ customVendorSkills?: Array<{
42
+ name: string;
43
+ source: string;
44
+ vendorPath: string;
45
+ skillPath?: string;
46
+ version?: string;
47
+ description?: string;
48
+ installedAt?: string;
49
+ protected?: boolean;
50
+ }>;
27
51
  }
28
52
  export interface TemplateFile {
29
53
  source: string;
@@ -74,3 +98,5 @@ export declare function copyFileAtomic(targetDir: string, relativePath: string,
74
98
  export declare function targetPath(targetDir: string, relativePath: string): string;
75
99
  export declare function assertNoSymlinkParents(targetDir: string, relativePath: string): Promise<void>;
76
100
  export declare function hashFile(filePath: string): Promise<string>;
101
+ export declare function assertDestinationType(target: string, expected: "directory" | "file"): Promise<void>;
102
+ export declare function validateInstallDestinations(templateFiles: Iterable<string> | Map<string, TemplateFile>, targetDir: string): Promise<void>;
@@ -160,6 +160,12 @@ export async function prepareUpdate({ targetDir, templateRoot, version, adapter,
160
160
  ]);
161
161
  const templateFiles = await collectManagedTemplateFiles(templateRoot, [...activeAdapters], role);
162
162
  const nextManifest = createManifest(version, activeAdapters, templateFiles);
163
+ if (previousManifest?.thirdPartySkills) {
164
+ nextManifest.thirdPartySkills = previousManifest.thirdPartySkills;
165
+ }
166
+ if (previousManifest?.customVendorSkills) {
167
+ nextManifest.customVendorSkills = previousManifest.customVendorSkills;
168
+ }
163
169
  const createList = [];
164
170
  const updateList = [];
165
171
  const conflictList = [];
@@ -218,6 +224,12 @@ export async function prepareUpdate({ targetDir, templateRoot, version, adapter,
218
224
  if (templateFiles.has(relativePath)) {
219
225
  continue;
220
226
  }
227
+ if (relativePath.startsWith("devflow/.vendor/") ||
228
+ relativePath.includes("/.vendor/") ||
229
+ previousManifest.thirdPartySkills?.some((s) => s.name && relativePath.includes(s.name)) ||
230
+ previousManifest.customVendorSkills?.some((s) => s.name && relativePath.includes(s.name))) {
231
+ continue;
232
+ }
221
233
  await assertNoSymlinkParents(targetDir, relativePath);
222
234
  const targetFile = targetPath(targetDir, relativePath);
223
235
  let targetStats = null;
@@ -452,4 +464,68 @@ export async function hashFile(filePath) {
452
464
  const content = await fs.readFile(filePath);
453
465
  return crypto.createHash("sha256").update(content).digest("hex");
454
466
  }
467
+ export async function assertDestinationType(target, expected) {
468
+ let stats;
469
+ try {
470
+ stats = await fs.lstat(target);
471
+ }
472
+ catch (error) {
473
+ if (error instanceof Error && "code" in error) {
474
+ if (error.code === "ENOTDIR") {
475
+ throw new Error(`Refusing to install at ${target}: a parent path is not a directory.`);
476
+ }
477
+ if (error.code === "ENOENT") {
478
+ // On Windows, lstat returns ENOENT even when an ancestor is a file instead of a directory
479
+ let parent = path.dirname(path.resolve(target));
480
+ const root = path.parse(parent).root;
481
+ while (parent && parent !== root) {
482
+ try {
483
+ const parentStats = await fs.lstat(parent);
484
+ if (!parentStats.isDirectory()) {
485
+ throw new Error(`Refusing to install at ${target}: a parent path is not a directory.`);
486
+ }
487
+ break;
488
+ }
489
+ catch (pErr) {
490
+ if (pErr instanceof Error && "code" in pErr) {
491
+ if (pErr.code === "ENOTDIR") {
492
+ throw new Error(`Refusing to install at ${target}: a parent path is not a directory.`);
493
+ }
494
+ if (pErr.code === "ENOENT") {
495
+ parent = path.dirname(parent);
496
+ continue;
497
+ }
498
+ }
499
+ throw pErr;
500
+ }
501
+ }
502
+ return;
503
+ }
504
+ }
505
+ throw error;
506
+ }
507
+ if (stats.isSymbolicLink()) {
508
+ throw new Error(`Refusing to install through symbolic-link path: ${target}`);
509
+ }
510
+ if (expected === "directory" ? !stats.isDirectory() : !stats.isFile()) {
511
+ throw new Error(`Refusing to install at ${target}: expected a ${expected}.`);
512
+ }
513
+ }
514
+ export async function validateInstallDestinations(templateFiles, targetDir) {
515
+ await assertDestinationType(targetDir, "directory");
516
+ const paths = templateFiles instanceof Map ? templateFiles.keys() : templateFiles;
517
+ for (const relativePath of paths) {
518
+ const dest = targetPath(targetDir, relativePath);
519
+ await assertDestinationType(dest, "file");
520
+ const parts = relativePath.split("/");
521
+ let current = path.resolve(targetDir);
522
+ for (let i = 0; i < parts.length - 1; i++) {
523
+ current = path.join(current, parts[i]);
524
+ await assertDestinationType(current, "directory");
525
+ }
526
+ }
527
+ await assertDestinationType(path.join(targetDir, CONTROL_DIR), "directory");
528
+ await assertDestinationType(path.join(targetDir, MANIFEST_PATH), "file");
529
+ await assertDestinationType(path.join(targetDir, CONTROL_DIR, ".gitignore"), "file");
530
+ }
455
531
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../lib/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../lib/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
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>;
@@ -0,0 +1,61 @@
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
@@ -0,0 +1 @@
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"}