@zigrivers/scaffold 3.1.0 → 3.4.1

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 (198) hide show
  1. package/README.md +366 -40
  2. package/content/knowledge/core/test-skeleton-generation.md +313 -0
  3. package/{knowledge → content/knowledge}/execution/enhancement-workflow.md +1 -1
  4. package/content/knowledge/product/vision-innovation.md +273 -0
  5. package/{knowledge → content/knowledge}/tools/post-implementation-review-methodology.md +1 -1
  6. package/{pipeline → content/pipeline}/consolidation/workflow-audit.md +1 -1
  7. package/{pipeline → content/pipeline}/decisions/review-adrs.md +1 -1
  8. package/{pipeline → content/pipeline}/environment/design-system.md +1 -1
  9. package/{pipeline → content/pipeline}/finalization/implementation-playbook.md +2 -2
  10. package/{pipeline → content/pipeline}/foundation/tech-stack.md +1 -1
  11. package/{pipeline → content/pipeline}/modeling/review-domain-modeling.md +1 -1
  12. package/{pipeline → content/pipeline}/planning/implementation-plan-review.md +2 -1
  13. package/{pipeline → content/pipeline}/quality/review-testing.md +1 -1
  14. package/{pipeline → content/pipeline}/quality/story-tests.md +2 -2
  15. package/{pipeline → content/pipeline}/vision/innovate-vision.md +1 -1
  16. package/content/skills/mmr/SKILL.md +65 -0
  17. package/content/skills/multi-model-dispatch/SKILL.md +327 -0
  18. package/{agent-skills → content/skills}/scaffold-pipeline/SKILL.md +14 -8
  19. package/{agent-skills → content/skills}/scaffold-runner/SKILL.md +64 -19
  20. package/{tools → content/tools}/post-implementation-review.md +2 -2
  21. package/{tools → content/tools}/prompt-pipeline.md +7 -0
  22. package/dist/cli/commands/build.d.ts.map +1 -1
  23. package/dist/cli/commands/build.js +17 -1
  24. package/dist/cli/commands/build.js.map +1 -1
  25. package/dist/cli/commands/build.test.js +6 -5
  26. package/dist/cli/commands/build.test.js.map +1 -1
  27. package/dist/cli/commands/info.test.js +2 -2
  28. package/dist/cli/commands/info.test.js.map +1 -1
  29. package/dist/cli/commands/init.d.ts.map +1 -1
  30. package/dist/cli/commands/init.js +9 -0
  31. package/dist/cli/commands/init.js.map +1 -1
  32. package/dist/cli/commands/init.test.js +6 -0
  33. package/dist/cli/commands/init.test.js.map +1 -1
  34. package/dist/cli/commands/list.test.js +8 -8
  35. package/dist/cli/commands/list.test.js.map +1 -1
  36. package/dist/cli/commands/run.test.js +4 -4
  37. package/dist/cli/commands/run.test.js.map +1 -1
  38. package/dist/cli/commands/skill.d.ts.map +1 -1
  39. package/dist/cli/commands/skill.js +16 -86
  40. package/dist/cli/commands/skill.js.map +1 -1
  41. package/dist/cli/commands/skill.test.js +27 -46
  42. package/dist/cli/commands/skill.test.js.map +1 -1
  43. package/dist/cli/middleware/project-root.d.ts.map +1 -1
  44. package/dist/cli/middleware/project-root.js +16 -0
  45. package/dist/cli/middleware/project-root.js.map +1 -1
  46. package/dist/cli/middleware/project-root.test.js +20 -0
  47. package/dist/cli/middleware/project-root.test.js.map +1 -1
  48. package/dist/core/adapters/gemini.js +2 -2
  49. package/dist/core/adapters/gemini.js.map +1 -1
  50. package/dist/core/adapters/gemini.test.js +1 -1
  51. package/dist/core/adapters/gemini.test.js.map +1 -1
  52. package/dist/core/skills/sync.d.ts +36 -0
  53. package/dist/core/skills/sync.d.ts.map +1 -0
  54. package/dist/core/skills/sync.js +119 -0
  55. package/dist/core/skills/sync.js.map +1 -0
  56. package/dist/core/skills/sync.test.d.ts +2 -0
  57. package/dist/core/skills/sync.test.d.ts.map +1 -0
  58. package/dist/core/skills/sync.test.js +166 -0
  59. package/dist/core/skills/sync.test.js.map +1 -0
  60. package/dist/e2e/commands.test.js +10 -10
  61. package/dist/e2e/commands.test.js.map +1 -1
  62. package/dist/e2e/knowledge.test.js +5 -4
  63. package/dist/e2e/knowledge.test.js.map +1 -1
  64. package/dist/index.js +0 -0
  65. package/dist/project/adopt.test.js +8 -8
  66. package/dist/project/adopt.test.js.map +1 -1
  67. package/dist/utils/fs.d.ts +5 -5
  68. package/dist/utils/fs.d.ts.map +1 -1
  69. package/dist/utils/fs.js +15 -15
  70. package/dist/utils/fs.js.map +1 -1
  71. package/dist/utils/fs.test.js +9 -9
  72. package/dist/utils/fs.test.js.map +1 -1
  73. package/dist/validation/index.test.js +2 -2
  74. package/dist/validation/index.test.js.map +1 -1
  75. package/package.json +3 -6
  76. package/skills/mmr/SKILL.md +65 -0
  77. package/skills/scaffold-pipeline/SKILL.md +3 -3
  78. /package/{knowledge → content/knowledge}/core/adr-craft.md +0 -0
  79. /package/{knowledge → content/knowledge}/core/ai-memory-management.md +0 -0
  80. /package/{knowledge → content/knowledge}/core/api-design.md +0 -0
  81. /package/{knowledge → content/knowledge}/core/automated-review-tooling.md +0 -0
  82. /package/{knowledge → content/knowledge}/core/claude-md-patterns.md +0 -0
  83. /package/{knowledge → content/knowledge}/core/coding-conventions.md +0 -0
  84. /package/{knowledge → content/knowledge}/core/database-design.md +0 -0
  85. /package/{knowledge → content/knowledge}/core/design-system-tokens.md +0 -0
  86. /package/{knowledge → content/knowledge}/core/dev-environment.md +0 -0
  87. /package/{knowledge → content/knowledge}/core/domain-modeling.md +0 -0
  88. /package/{knowledge → content/knowledge}/core/eval-craft.md +0 -0
  89. /package/{knowledge → content/knowledge}/core/git-workflow-patterns.md +0 -0
  90. /package/{knowledge → content/knowledge}/core/multi-model-review-dispatch.md +0 -0
  91. /package/{knowledge → content/knowledge}/core/operations-runbook.md +0 -0
  92. /package/{knowledge → content/knowledge}/core/project-structure-patterns.md +0 -0
  93. /package/{knowledge → content/knowledge}/core/review-step-template.md +0 -0
  94. /package/{knowledge → content/knowledge}/core/security-best-practices.md +0 -0
  95. /package/{knowledge → content/knowledge}/core/system-architecture.md +0 -0
  96. /package/{knowledge → content/knowledge}/core/task-decomposition.md +0 -0
  97. /package/{knowledge → content/knowledge}/core/task-tracking.md +0 -0
  98. /package/{knowledge → content/knowledge}/core/tech-stack-selection.md +0 -0
  99. /package/{knowledge → content/knowledge}/core/testing-strategy.md +0 -0
  100. /package/{knowledge → content/knowledge}/core/user-stories.md +0 -0
  101. /package/{knowledge → content/knowledge}/core/user-story-innovation.md +0 -0
  102. /package/{knowledge → content/knowledge}/core/ux-specification.md +0 -0
  103. /package/{knowledge → content/knowledge}/execution/task-claiming-strategy.md +0 -0
  104. /package/{knowledge → content/knowledge}/execution/tdd-execution-loop.md +0 -0
  105. /package/{knowledge → content/knowledge}/execution/worktree-management.md +0 -0
  106. /package/{knowledge → content/knowledge}/finalization/apply-fixes-and-freeze.md +0 -0
  107. /package/{knowledge → content/knowledge}/finalization/developer-onboarding.md +0 -0
  108. /package/{knowledge → content/knowledge}/finalization/implementation-playbook.md +0 -0
  109. /package/{knowledge → content/knowledge}/product/gap-analysis.md +0 -0
  110. /package/{knowledge → content/knowledge}/product/prd-craft.md +0 -0
  111. /package/{knowledge → content/knowledge}/product/prd-innovation.md +0 -0
  112. /package/{knowledge → content/knowledge}/product/vision-craft.md +0 -0
  113. /package/{knowledge → content/knowledge}/review/review-adr.md +0 -0
  114. /package/{knowledge → content/knowledge}/review/review-api-design.md +0 -0
  115. /package/{knowledge → content/knowledge}/review/review-database-design.md +0 -0
  116. /package/{knowledge → content/knowledge}/review/review-domain-modeling.md +0 -0
  117. /package/{knowledge → content/knowledge}/review/review-implementation-tasks.md +0 -0
  118. /package/{knowledge → content/knowledge}/review/review-methodology.md +0 -0
  119. /package/{knowledge → content/knowledge}/review/review-operations.md +0 -0
  120. /package/{knowledge → content/knowledge}/review/review-prd.md +0 -0
  121. /package/{knowledge → content/knowledge}/review/review-security.md +0 -0
  122. /package/{knowledge → content/knowledge}/review/review-system-architecture.md +0 -0
  123. /package/{knowledge → content/knowledge}/review/review-testing-strategy.md +0 -0
  124. /package/{knowledge → content/knowledge}/review/review-user-stories.md +0 -0
  125. /package/{knowledge → content/knowledge}/review/review-ux-specification.md +0 -0
  126. /package/{knowledge → content/knowledge}/review/review-vision.md +0 -0
  127. /package/{knowledge → content/knowledge}/tools/release-management.md +0 -0
  128. /package/{knowledge → content/knowledge}/tools/session-analysis.md +0 -0
  129. /package/{knowledge → content/knowledge}/tools/version-strategy.md +0 -0
  130. /package/{knowledge → content/knowledge}/validation/critical-path-analysis.md +0 -0
  131. /package/{knowledge → content/knowledge}/validation/cross-phase-consistency.md +0 -0
  132. /package/{knowledge → content/knowledge}/validation/decision-completeness.md +0 -0
  133. /package/{knowledge → content/knowledge}/validation/dependency-validation.md +0 -0
  134. /package/{knowledge → content/knowledge}/validation/implementability-review.md +0 -0
  135. /package/{knowledge → content/knowledge}/validation/scope-management.md +0 -0
  136. /package/{knowledge → content/knowledge}/validation/traceability.md +0 -0
  137. /package/{methodology → content/methodology}/README.md +0 -0
  138. /package/{methodology → content/methodology}/custom-defaults.yml +0 -0
  139. /package/{methodology → content/methodology}/deep.yml +0 -0
  140. /package/{methodology → content/methodology}/mvp.yml +0 -0
  141. /package/{pipeline → content/pipeline}/architecture/review-architecture.md +0 -0
  142. /package/{pipeline → content/pipeline}/architecture/system-architecture.md +0 -0
  143. /package/{pipeline → content/pipeline}/build/multi-agent-resume.md +0 -0
  144. /package/{pipeline → content/pipeline}/build/multi-agent-start.md +0 -0
  145. /package/{pipeline → content/pipeline}/build/new-enhancement.md +0 -0
  146. /package/{pipeline → content/pipeline}/build/quick-task.md +0 -0
  147. /package/{pipeline → content/pipeline}/build/single-agent-resume.md +0 -0
  148. /package/{pipeline → content/pipeline}/build/single-agent-start.md +0 -0
  149. /package/{pipeline → content/pipeline}/consolidation/claude-md-optimization.md +0 -0
  150. /package/{pipeline → content/pipeline}/decisions/adrs.md +0 -0
  151. /package/{pipeline → content/pipeline}/environment/ai-memory-setup.md +0 -0
  152. /package/{pipeline → content/pipeline}/environment/automated-pr-review.md +0 -0
  153. /package/{pipeline → content/pipeline}/environment/dev-env-setup.md +0 -0
  154. /package/{pipeline → content/pipeline}/environment/git-workflow.md +0 -0
  155. /package/{pipeline → content/pipeline}/finalization/apply-fixes-and-freeze.md +0 -0
  156. /package/{pipeline → content/pipeline}/finalization/developer-onboarding-guide.md +0 -0
  157. /package/{pipeline → content/pipeline}/foundation/beads.md +0 -0
  158. /package/{pipeline → content/pipeline}/foundation/coding-standards.md +0 -0
  159. /package/{pipeline → content/pipeline}/foundation/project-structure.md +0 -0
  160. /package/{pipeline → content/pipeline}/foundation/tdd.md +0 -0
  161. /package/{pipeline → content/pipeline}/integration/add-e2e-testing.md +0 -0
  162. /package/{pipeline → content/pipeline}/modeling/domain-modeling.md +0 -0
  163. /package/{pipeline → content/pipeline}/parity/platform-parity-review.md +0 -0
  164. /package/{pipeline → content/pipeline}/planning/implementation-plan.md +0 -0
  165. /package/{pipeline → content/pipeline}/pre/create-prd.md +0 -0
  166. /package/{pipeline → content/pipeline}/pre/innovate-prd.md +0 -0
  167. /package/{pipeline → content/pipeline}/pre/innovate-user-stories.md +0 -0
  168. /package/{pipeline → content/pipeline}/pre/review-prd.md +0 -0
  169. /package/{pipeline → content/pipeline}/pre/review-user-stories.md +0 -0
  170. /package/{pipeline → content/pipeline}/pre/user-stories.md +0 -0
  171. /package/{pipeline → content/pipeline}/quality/create-evals.md +0 -0
  172. /package/{pipeline → content/pipeline}/quality/operations.md +0 -0
  173. /package/{pipeline → content/pipeline}/quality/review-operations.md +0 -0
  174. /package/{pipeline → content/pipeline}/quality/review-security.md +0 -0
  175. /package/{pipeline → content/pipeline}/quality/security.md +0 -0
  176. /package/{pipeline → content/pipeline}/specification/api-contracts.md +0 -0
  177. /package/{pipeline → content/pipeline}/specification/database-schema.md +0 -0
  178. /package/{pipeline → content/pipeline}/specification/review-api.md +0 -0
  179. /package/{pipeline → content/pipeline}/specification/review-database.md +0 -0
  180. /package/{pipeline → content/pipeline}/specification/review-ux.md +0 -0
  181. /package/{pipeline → content/pipeline}/specification/ux-spec.md +0 -0
  182. /package/{pipeline → content/pipeline}/validation/critical-path-walkthrough.md +0 -0
  183. /package/{pipeline → content/pipeline}/validation/cross-phase-consistency.md +0 -0
  184. /package/{pipeline → content/pipeline}/validation/decision-completeness.md +0 -0
  185. /package/{pipeline → content/pipeline}/validation/dependency-graph-validation.md +0 -0
  186. /package/{pipeline → content/pipeline}/validation/implementability-dry-run.md +0 -0
  187. /package/{pipeline → content/pipeline}/validation/scope-creep-check.md +0 -0
  188. /package/{pipeline → content/pipeline}/validation/traceability-matrix.md +0 -0
  189. /package/{pipeline → content/pipeline}/vision/create-vision.md +0 -0
  190. /package/{pipeline → content/pipeline}/vision/review-vision.md +0 -0
  191. /package/{tools → content/tools}/dashboard.md +0 -0
  192. /package/{tools → content/tools}/release.md +0 -0
  193. /package/{tools → content/tools}/review-code.md +0 -0
  194. /package/{tools → content/tools}/review-pr.md +0 -0
  195. /package/{tools → content/tools}/session-analyzer.md +0 -0
  196. /package/{tools → content/tools}/update.md +0 -0
  197. /package/{tools → content/tools}/version-bump.md +0 -0
  198. /package/{tools → content/tools}/version.md +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"skill.test.js","sourceRoot":"","sources":["../../../src/cli/commands/skill.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.test.js","sourceRoot":"","sources":["../../../src/cli/commands/skill.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../../src/cli/middleware/project-root.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW/D;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,wCAAyC,CAAA;AAE5E;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAuBrF"}
1
+ {"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../../src/cli/middleware/project-root.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAW/D;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,wCAAyC,CAAA;AAE5E;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAqCrF"}
@@ -1,5 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import fs from 'node:fs';
3
+ import { syncSkillsIfNeeded } from '../../core/skills/sync.js';
3
4
  /**
4
5
  * Walk up from startDir looking for a directory containing .scaffold/.
5
6
  * Returns absolute path to the directory containing .scaffold/, or null if not found.
@@ -35,10 +36,25 @@ export function createProjectRootMiddleware() {
35
36
  return (argv) => {
36
37
  if (typeof argv['root'] === 'string') {
37
38
  argv['detectedRoot'] = argv['root'];
39
+ try {
40
+ syncSkillsIfNeeded(argv['root']);
41
+ }
42
+ catch {
43
+ // best-effort
44
+ }
38
45
  return;
39
46
  }
40
47
  const found = findProjectRoot(process.cwd());
41
48
  argv['detectedRoot'] = found ?? undefined;
49
+ // Auto-sync project-local skills when version changes
50
+ if (argv['detectedRoot']) {
51
+ try {
52
+ syncSkillsIfNeeded(argv['detectedRoot']);
53
+ }
54
+ catch {
55
+ // Skill sync is best-effort — never block CLI commands
56
+ }
57
+ }
42
58
  if (argv['detectedRoot'] === undefined) {
43
59
  const commands = argv['_'];
44
60
  const command = commands[0] ?? '';
@@ -1 +1 @@
1
- {"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../../src/cli/middleware/project-root.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACpC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACnD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACzE,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,IAAI,CAAA,CAAE,0BAA0B;QAC/D,OAAO,GAAG,MAAM,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAE5E;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,CAAC,IAA6B,EAAE,EAAE;QACvC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;YACnC,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,IAAI,SAAS,CAAA;QAEzC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAa,CAAA;YACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACjC,MAAM,gBAAgB,GAAsB,sBAAsB,CAAA;YAClE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oEAAoE;oBACpE,sDAAsD,CACvD,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../../src/cli/middleware/project-root.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACpC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACnD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACzE,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,IAAI,CAAA,CAAE,0BAA0B;QAC/D,OAAO,GAAG,MAAM,CAAA;IAClB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAE5E;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,CAAC,IAA6B,EAAE,EAAE;QACvC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;YACnC,IAAI,CAAC;gBACH,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;YACD,OAAM;QACR,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,IAAI,SAAS,CAAA;QAEzC,sDAAsD;QACtD,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAW,CAAC,CAAA;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAa,CAAA;YACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACjC,MAAM,gBAAgB,GAAsB,sBAAsB,CAAA;YAClE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,oEAAoE;oBACpE,sDAAsD,CACvD,CAAA;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,7 +1,11 @@
1
+ vi.mock('../../core/skills/sync.js', () => ({
2
+ syncSkillsIfNeeded: vi.fn(),
3
+ }));
1
4
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
5
  import fs from 'node:fs';
3
6
  import path from 'node:path';
4
7
  import { findProjectRoot, createProjectRootMiddleware, ROOT_OPTIONAL_COMMANDS } from './project-root.js';
8
+ import { syncSkillsIfNeeded } from '../../core/skills/sync.js';
5
9
  describe('findProjectRoot', () => {
6
10
  let tmpDir;
7
11
  beforeEach(() => {
@@ -39,6 +43,7 @@ describe('createProjectRootMiddleware', () => {
39
43
  let stderrSpy;
40
44
  beforeEach(() => {
41
45
  tmpDir = fs.mkdtempSync(path.join(process.env['TMPDIR'] ?? '/tmp', 'scaffold-test-'));
46
+ vi.mocked(syncSkillsIfNeeded).mockReset();
42
47
  exitSpy = vi.spyOn(process, 'exit').mockImplementation((() => {
43
48
  throw new Error('process.exit called');
44
49
  }));
@@ -101,6 +106,21 @@ describe('createProjectRootMiddleware', () => {
101
106
  expect(allStderr).toContain('PROJECT_NOT_INITIALIZED');
102
107
  expect(allStderr).toContain('scaffold init');
103
108
  });
109
+ it('calls syncSkillsIfNeeded when project root is found', () => {
110
+ fs.mkdirSync(path.join(tmpDir, '.scaffold'));
111
+ vi.spyOn(process, 'cwd').mockReturnValue(tmpDir);
112
+ const middleware = createProjectRootMiddleware();
113
+ const argv = { _: ['run'] };
114
+ middleware(argv);
115
+ expect(syncSkillsIfNeeded).toHaveBeenCalledWith(tmpDir);
116
+ });
117
+ it('does not call syncSkillsIfNeeded when no project root found', () => {
118
+ vi.spyOn(fs, 'existsSync').mockReturnValue(false);
119
+ const middleware = createProjectRootMiddleware();
120
+ const argv = { _: ['init'] };
121
+ expect(() => middleware(argv)).not.toThrow();
122
+ expect(syncSkillsIfNeeded).not.toHaveBeenCalled();
123
+ });
104
124
  });
105
125
  describe('ROOT_OPTIONAL_COMMANDS', () => {
106
126
  it('contains init, version, and update', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"project-root.test.js","sourceRoot":"","sources":["../../../src/cli/middleware/project-root.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-root.test.js","sourceRoot":"","sources":["../../../src/cli/middleware/project-root.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { renderManagedContent } from '../../project/gemini-md.js';
4
- import { getPackageAgentSkillsDir } from '../../utils/fs.js';
4
+ import { getPackageSkillsDir } from '../../utils/fs.js';
5
5
  const SKILL_FILES = [
6
6
  'scaffold-runner',
7
7
  'scaffold-pipeline',
@@ -33,7 +33,7 @@ export class GeminiAdapter {
33
33
  if (!projectRoot) {
34
34
  return { files: [], errors: [] };
35
35
  }
36
- const skillDir = getPackageAgentSkillsDir(projectRoot);
36
+ const skillDir = getPackageSkillsDir(projectRoot);
37
37
  const skillFiles = readAgentSkillFiles(skillDir);
38
38
  if ('error' in skillFiles) {
39
39
  return { files: [], errors: [skillFiles.error] };
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/core/adapters/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/core/adapters/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAW5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGvD,MAAM,WAAW,GAAG;IAClB,iBAAiB;IACjB,mBAAmB;CACX,CAAA;AAEV,MAAM,OAAO,aAAa;IACf,UAAU,GAAG,QAAQ,CAAA;IAEtB,OAAO,GAA0B,IAAI,CAAA;IACrC,cAAc,GAAuB,EAAE,CAAA;IAE/C,UAAU,CAAC,OAAuB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAA;QACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACtC,CAAC;IAED,mBAAmB,CAAC,KAAuB;QACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE/B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,CAAC;oBACN,YAAY,EAAE,6BAA6B,KAAK,CAAC,IAAI,OAAO;oBAC5D,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC;oBACpC,SAAS,EAAE,QAAQ;iBACpB,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;IAED,QAAQ,CAAC,MAA4B;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAA;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QAClC,CAAC;QAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAA;QAClD,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACxD,MAAM,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YACjD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC;YACvC,CAAC,CAAC,EAAE,CAAA;QAEN,OAAO;YACL,KAAK,EAAE;gBACL,GAAG,UAAU,CAAC,KAAK;gBACnB;oBACE,YAAY,EAAE,WAAW;oBACzB,OAAO,EAAE,oBAAoB,CAAC,eAAe,CAAC;oBAC9C,SAAS,EAAE,QAAQ;iBACpB;gBACD;oBACE,YAAY,EAAE,uCAAuC;oBACrD,OAAO,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;oBAC5C,SAAS,EAAE,QAAQ;iBACpB;gBACD;oBACE,YAAY,EAAE,qCAAqC;oBACnD,OAAO,EAAE,gBAAgB,CAAC,eAAe,CAAC;oBAC1C,SAAS,EAAE,QAAQ;iBACpB;aACF;YACD,MAAM,EAAE,EAAE;SACX,CAAA;IACH,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,KAAK,GAAiB,EAAE,CAAA;IAE9B,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QAC7D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YACnD,KAAK,CAAC,IAAI,CAAC;gBACT,YAAY,EAAE,kBAAkB,SAAS,WAAW;gBACpD,OAAO;gBACP,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAA;QACxD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,CAAA;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,KAAc;IAC3D,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;IACvE,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,uCAAuC,UAAU,EAAE;QAC5D,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,yEAAyE;QACnF,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;KACtC,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAuB;IACnD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;IACrC,MAAM,WAAW,GAAG;QAClB,iEAAiE;QACjE,EAAE;QACF,qBAAqB,WAAW,EAAE;KACnC,CAAA;IAED,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;QACnE,WAAW,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,eAAe,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,0BAA0B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IAE5D,OAAO;QACL,iBAAiB,IAAI,CAAC,SAAS,CAAC,gBAAgB,KAAK,CAAC,IAAI,wCAAwC,CAAC,EAAE;QACrG,cAAc;QACd,GAAG,WAAW;QACd,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,OAAO;QACL,iBAAiB,IAAI,CAAC,SAAS,CAAC,OAAO,WAAW,wCAAwC,CAAC,EAAE;QAC7F,cAAc;QACd,iEAAiE;QACjE,EAAE;QACF,iBAAiB,WAAW,EAAE;QAC9B,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC"}
@@ -81,7 +81,7 @@ describe('GeminiAdapter', () => {
81
81
  const context = makeContext();
82
82
  adapter.initialize(context);
83
83
  const missingSkillDir = path.join(makeTmpDir(), 'missing-agent-skills');
84
- vi.spyOn(fsUtils, 'getPackageAgentSkillsDir').mockReturnValue(missingSkillDir);
84
+ vi.spyOn(fsUtils, 'getPackageSkillsDir').mockReturnValue(missingSkillDir);
85
85
  const result = adapter.finalize({ results: [] });
86
86
  expect(result.files).toEqual([]);
87
87
  expect(result.errors).toHaveLength(1);
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.test.js","sourceRoot":"","sources":["../../../src/core/adapters/gemini.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.test.js","sourceRoot":"","sources":["../../../src/core/adapters/gemini.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ export interface SkillTarget {
2
+ installDir: '.claude/skills' | '.agents/skills';
3
+ label: string;
4
+ templateVars: Record<string, string>;
5
+ }
6
+ export interface SkillDefinition {
7
+ name: string;
8
+ description: string;
9
+ }
10
+ export interface InstallResult {
11
+ installed: number;
12
+ errors: string[];
13
+ }
14
+ export interface InstallOptions {
15
+ force?: boolean;
16
+ }
17
+ export declare const SKILL_TARGETS: SkillTarget[];
18
+ export declare const INSTALLABLE_SKILLS: SkillDefinition[];
19
+ /** Replace `{{KEY}}` template markers with values from `vars`. */
20
+ export declare function resolveSkillTemplate(content: string, vars: Record<string, string>): string;
21
+ /** Read the package version from package.json. */
22
+ export declare function getPackageVersion(): string;
23
+ /** Return the directory containing skill template sources. */
24
+ export declare function getSkillTemplateDir(): string;
25
+ /**
26
+ * Check `.scaffold-skill-version` markers in each target directory.
27
+ * If any marker is missing or stale, reinstall all skills.
28
+ * Skips silently if template source files are missing.
29
+ */
30
+ export declare function syncSkillsIfNeeded(projectRoot: string): void;
31
+ /**
32
+ * Install all skill templates to both target directories, resolving
33
+ * template variables per target. Writes version markers on success.
34
+ */
35
+ export declare function installAllSkills(projectRoot: string, options?: InstallOptions): InstallResult;
36
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/core/skills/sync.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,gBAAgB,GAAG,gBAAgB,CAAA;IAC/C,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAMD,eAAO,MAAM,aAAa,EAAE,WAAW,EAWtC,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAS/C,CAAA;AAQD,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAE1F;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAe5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CA8C7F"}
@@ -0,0 +1,119 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { getPackageRoot } from '../../utils/fs.js';
5
+ // ---------------------------------------------------------------------------
6
+ // Constants
7
+ // ---------------------------------------------------------------------------
8
+ export const SKILL_TARGETS = [
9
+ {
10
+ installDir: '.claude/skills',
11
+ label: 'Claude Code',
12
+ templateVars: { INSTRUCTIONS_FILE: 'CLAUDE.md' },
13
+ },
14
+ {
15
+ installDir: '.agents/skills',
16
+ label: 'shared agents',
17
+ templateVars: { INSTRUCTIONS_FILE: 'AGENTS.md' },
18
+ },
19
+ ];
20
+ export const INSTALLABLE_SKILLS = [
21
+ {
22
+ name: 'scaffold-runner',
23
+ description: 'Interactive CLI wrapper that surfaces decision points before execution',
24
+ },
25
+ {
26
+ name: 'scaffold-pipeline',
27
+ description: 'Static reference for pipeline ordering, dependencies, and phase structure',
28
+ },
29
+ ];
30
+ const VERSION_MARKER_FILE = '.scaffold-skill-version';
31
+ // ---------------------------------------------------------------------------
32
+ // Helpers
33
+ // ---------------------------------------------------------------------------
34
+ /** Replace `{{KEY}}` template markers with values from `vars`. */
35
+ export function resolveSkillTemplate(content, vars) {
36
+ return content.replace(/\{\{(\w+)\}\}/g, (match, key) => vars[key] ?? match);
37
+ }
38
+ /** Read the package version from package.json. */
39
+ export function getPackageVersion() {
40
+ // Both src/core/skills/ and dist/core/skills/ are 3 levels deep from the package root
41
+ const thisDir = path.dirname(fileURLToPath(import.meta.url));
42
+ const pkgPath = path.resolve(thisDir, '..', '..', '..', 'package.json');
43
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
44
+ return pkg.version;
45
+ }
46
+ /** Return the directory containing skill template sources. */
47
+ export function getSkillTemplateDir() {
48
+ return path.join(getPackageRoot(), 'content', 'skills');
49
+ }
50
+ // ---------------------------------------------------------------------------
51
+ // Core functions
52
+ // ---------------------------------------------------------------------------
53
+ /**
54
+ * Check `.scaffold-skill-version` markers in each target directory.
55
+ * If any marker is missing or stale, reinstall all skills.
56
+ * Skips silently if template source files are missing.
57
+ */
58
+ export function syncSkillsIfNeeded(projectRoot) {
59
+ const currentVersion = getPackageVersion();
60
+ // Fast path: check if all markers match the current version
61
+ const allCurrent = SKILL_TARGETS.every(target => {
62
+ const markerPath = path.join(projectRoot, target.installDir, VERSION_MARKER_FILE);
63
+ if (!fs.existsSync(markerPath))
64
+ return false;
65
+ const markerVersion = fs.readFileSync(markerPath, 'utf8').trim();
66
+ return markerVersion === currentVersion;
67
+ });
68
+ if (allCurrent)
69
+ return;
70
+ // At least one target is stale or missing — reinstall
71
+ installAllSkills(projectRoot);
72
+ }
73
+ /**
74
+ * Install all skill templates to both target directories, resolving
75
+ * template variables per target. Writes version markers on success.
76
+ */
77
+ export function installAllSkills(projectRoot, options) {
78
+ const force = options?.force ?? false;
79
+ const templateDir = getSkillTemplateDir();
80
+ const currentVersion = getPackageVersion();
81
+ let installed = 0;
82
+ const errors = [];
83
+ for (const target of SKILL_TARGETS) {
84
+ for (const skill of INSTALLABLE_SKILLS) {
85
+ const sourcePath = path.join(templateDir, skill.name, 'SKILL.md');
86
+ if (!fs.existsSync(sourcePath)) {
87
+ // Skip silently — template source not bundled
88
+ continue;
89
+ }
90
+ const destDir = path.join(projectRoot, target.installDir, skill.name);
91
+ const destPath = path.join(destDir, 'SKILL.md');
92
+ if (fs.existsSync(destPath) && !force) {
93
+ // Already present and not forcing — still count it if it exists
94
+ continue;
95
+ }
96
+ try {
97
+ fs.mkdirSync(destDir, { recursive: true });
98
+ const template = fs.readFileSync(sourcePath, 'utf8');
99
+ const resolved = resolveSkillTemplate(template, target.templateVars);
100
+ fs.writeFileSync(destPath, resolved, 'utf8');
101
+ installed++;
102
+ }
103
+ catch (err) {
104
+ errors.push(`Failed to install ${skill.name} to ${target.installDir}: ${err}`);
105
+ }
106
+ }
107
+ // Write version marker for this target
108
+ const targetDir = path.join(projectRoot, target.installDir);
109
+ try {
110
+ fs.mkdirSync(targetDir, { recursive: true });
111
+ fs.writeFileSync(path.join(targetDir, VERSION_MARKER_FILE), currentVersion, 'utf8');
112
+ }
113
+ catch (err) {
114
+ errors.push(`Failed to write version marker to ${target.installDir}: ${err}`);
115
+ }
116
+ }
117
+ return { installed, errors };
118
+ }
119
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/core/skills/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sync.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.test.d.ts","sourceRoot":"","sources":["../../../src/core/skills/sync.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,166 @@
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
+ import fs from 'node:fs';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import crypto from 'node:crypto';
6
+ // Mock getPackageRoot so we can control where source skills are found
7
+ vi.mock('../../utils/fs.js', () => ({
8
+ getPackageRoot: vi.fn(() => '/mock-package-root'),
9
+ }));
10
+ import { syncSkillsIfNeeded, installAllSkills, SKILL_TARGETS, INSTALLABLE_SKILLS } from './sync.js';
11
+ import { getPackageRoot } from '../../utils/fs.js';
12
+ function makeTmpDir() {
13
+ const dir = path.join(os.tmpdir(), `scaffold-sync-test-${crypto.randomUUID()}`);
14
+ fs.mkdirSync(dir, { recursive: true });
15
+ return dir;
16
+ }
17
+ /**
18
+ * Seed skill template source files in a fake package root.
19
+ * Uses the template format with {{INSTRUCTIONS_FILE}} markers.
20
+ */
21
+ function seedSkillTemplates(packageRoot) {
22
+ for (const skill of INSTALLABLE_SKILLS) {
23
+ const skillDir = path.join(packageRoot, 'content', 'skills', skill.name);
24
+ fs.mkdirSync(skillDir, { recursive: true });
25
+ fs.writeFileSync(path.join(skillDir, 'SKILL.md'), `# ${skill.name}\nInstructions file: {{INSTRUCTIONS_FILE}}\n`, 'utf8');
26
+ }
27
+ }
28
+ /**
29
+ * Write a version marker file in the given target directory.
30
+ */
31
+ function seedVersionMarker(projectRoot, installDir, version) {
32
+ const dir = path.join(projectRoot, installDir);
33
+ fs.mkdirSync(dir, { recursive: true });
34
+ fs.writeFileSync(path.join(dir, '.scaffold-skill-version'), version, 'utf8');
35
+ }
36
+ describe('syncSkillsIfNeeded', () => {
37
+ let tmpDir;
38
+ let packageRoot;
39
+ beforeEach(() => {
40
+ tmpDir = makeTmpDir();
41
+ packageRoot = makeTmpDir();
42
+ vi.mocked(getPackageRoot).mockReturnValue(packageRoot);
43
+ });
44
+ afterEach(() => {
45
+ vi.restoreAllMocks();
46
+ fs.rmSync(tmpDir, { recursive: true, force: true });
47
+ fs.rmSync(packageRoot, { recursive: true, force: true });
48
+ });
49
+ it('installs skills when no version marker exists', () => {
50
+ seedSkillTemplates(packageRoot);
51
+ syncSkillsIfNeeded(tmpDir);
52
+ // Skills should be installed in both targets
53
+ for (const target of SKILL_TARGETS) {
54
+ for (const skill of INSTALLABLE_SKILLS) {
55
+ const skillPath = path.join(tmpDir, target.installDir, skill.name, 'SKILL.md');
56
+ expect(fs.existsSync(skillPath)).toBe(true);
57
+ }
58
+ }
59
+ });
60
+ it('resolves {{INSTRUCTIONS_FILE}} to CLAUDE.md for .claude/skills/', () => {
61
+ seedSkillTemplates(packageRoot);
62
+ syncSkillsIfNeeded(tmpDir);
63
+ const content = fs.readFileSync(path.join(tmpDir, '.claude', 'skills', INSTALLABLE_SKILLS[0].name, 'SKILL.md'), 'utf8');
64
+ expect(content).toContain('Instructions file: CLAUDE.md');
65
+ expect(content).not.toContain('{{INSTRUCTIONS_FILE}}');
66
+ });
67
+ it('resolves {{INSTRUCTIONS_FILE}} to AGENTS.md for .agents/skills/', () => {
68
+ seedSkillTemplates(packageRoot);
69
+ syncSkillsIfNeeded(tmpDir);
70
+ const content = fs.readFileSync(path.join(tmpDir, '.agents', 'skills', INSTALLABLE_SKILLS[0].name, 'SKILL.md'), 'utf8');
71
+ expect(content).toContain('Instructions file: AGENTS.md');
72
+ expect(content).not.toContain('{{INSTRUCTIONS_FILE}}');
73
+ });
74
+ it('skips sync when version marker matches package version', () => {
75
+ seedSkillTemplates(packageRoot);
76
+ // First install to create the skills and markers
77
+ installAllSkills(tmpDir);
78
+ // Spy on writeFileSync after initial install
79
+ const writeSpy = vi.spyOn(fs, 'writeFileSync');
80
+ // syncSkillsIfNeeded should detect markers match and skip
81
+ syncSkillsIfNeeded(tmpDir);
82
+ expect(writeSpy).not.toHaveBeenCalled();
83
+ writeSpy.mockRestore();
84
+ });
85
+ it('re-syncs when version marker is stale', () => {
86
+ seedSkillTemplates(packageRoot);
87
+ // Seed stale version markers
88
+ for (const target of SKILL_TARGETS) {
89
+ seedVersionMarker(tmpDir, target.installDir, '0.0.0-old');
90
+ }
91
+ syncSkillsIfNeeded(tmpDir);
92
+ // Skills should have been installed
93
+ for (const target of SKILL_TARGETS) {
94
+ for (const skill of INSTALLABLE_SKILLS) {
95
+ const skillPath = path.join(tmpDir, target.installDir, skill.name, 'SKILL.md');
96
+ expect(fs.existsSync(skillPath)).toBe(true);
97
+ }
98
+ // Version marker should be updated
99
+ const marker = fs.readFileSync(path.join(tmpDir, target.installDir, '.scaffold-skill-version'), 'utf8');
100
+ expect(marker).not.toBe('0.0.0-old');
101
+ }
102
+ });
103
+ it('skips silently when template source is missing', () => {
104
+ // Don't seed any templates — packageRoot has no content/skills/
105
+ // Should not throw
106
+ syncSkillsIfNeeded(tmpDir);
107
+ // No skills should be installed
108
+ for (const target of SKILL_TARGETS) {
109
+ for (const skill of INSTALLABLE_SKILLS) {
110
+ const skillPath = path.join(tmpDir, target.installDir, skill.name, 'SKILL.md');
111
+ expect(fs.existsSync(skillPath)).toBe(false);
112
+ }
113
+ }
114
+ });
115
+ });
116
+ describe('installAllSkills', () => {
117
+ let tmpDir;
118
+ let packageRoot;
119
+ beforeEach(() => {
120
+ tmpDir = makeTmpDir();
121
+ packageRoot = makeTmpDir();
122
+ vi.mocked(getPackageRoot).mockReturnValue(packageRoot);
123
+ });
124
+ afterEach(() => {
125
+ vi.restoreAllMocks();
126
+ fs.rmSync(tmpDir, { recursive: true, force: true });
127
+ fs.rmSync(packageRoot, { recursive: true, force: true });
128
+ });
129
+ it('installs all skills to both target directories', () => {
130
+ seedSkillTemplates(packageRoot);
131
+ const result = installAllSkills(tmpDir);
132
+ expect(result.installed).toBe(INSTALLABLE_SKILLS.length * SKILL_TARGETS.length);
133
+ expect(result.errors).toEqual([]);
134
+ for (const target of SKILL_TARGETS) {
135
+ for (const skill of INSTALLABLE_SKILLS) {
136
+ const skillPath = path.join(tmpDir, target.installDir, skill.name, 'SKILL.md');
137
+ expect(fs.existsSync(skillPath)).toBe(true);
138
+ }
139
+ }
140
+ });
141
+ it('writes version markers', () => {
142
+ seedSkillTemplates(packageRoot);
143
+ installAllSkills(tmpDir);
144
+ for (const target of SKILL_TARGETS) {
145
+ const markerPath = path.join(tmpDir, target.installDir, '.scaffold-skill-version');
146
+ expect(fs.existsSync(markerPath)).toBe(true);
147
+ const version = fs.readFileSync(markerPath, 'utf8');
148
+ expect(version.length).toBeGreaterThan(0);
149
+ }
150
+ });
151
+ it('overwrites existing skills when force is true', () => {
152
+ seedSkillTemplates(packageRoot);
153
+ // First install
154
+ installAllSkills(tmpDir);
155
+ // Write custom content to a skill file
156
+ const skillPath = path.join(tmpDir, '.claude', 'skills', INSTALLABLE_SKILLS[0].name, 'SKILL.md');
157
+ fs.writeFileSync(skillPath, '# custom content that should be overwritten', 'utf8');
158
+ // Reinstall with force
159
+ const result = installAllSkills(tmpDir, { force: true });
160
+ expect(result.installed).toBe(INSTALLABLE_SKILLS.length * SKILL_TARGETS.length);
161
+ const content = fs.readFileSync(skillPath, 'utf8');
162
+ expect(content).toContain('Instructions file: CLAUDE.md');
163
+ expect(content).not.toContain('custom content');
164
+ });
165
+ });
166
+ //# sourceMappingURL=sync.test.js.map