rebar-mcp 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/.claude/agents/template-writer.md +43 -0
  2. package/.claude/agents/test-runner.md +47 -0
  3. package/.claude/mcp.json +9 -0
  4. package/.claude/settings.json +29 -0
  5. package/.claude/skills/ /SKILL.md +21 -0
  6. package/.claude/skills/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SKILL.md +21 -0
  7. package/.claude/skills/bmmibwetxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  8. package/.claude/skills/bmmibwjgvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  9. package/.claude/skills/bmmibwsesxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  10. package/.claude/skills/bmmibwxufxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  11. package/.claude/skills/bmmibx3r9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  12. package/.claude/skills/bmmji0lrkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  13. package/.claude/skills/bmmjiniphxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  14. package/.claude/skills/bmmjio86zxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  15. package/.claude/skills/bmmjiolfbxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  16. package/.claude/skills/bmmjit1lvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  17. package/.claude/skills/bmmjita1qxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/SKILL.md +21 -0
  18. package/.claude/skills/bnd-mmibweu3/SKILL.md +21 -0
  19. package/.claude/skills/bnd-mmibwjh4/SKILL.md +21 -0
  20. package/.claude/skills/bnd-mmibwsey/SKILL.md +21 -0
  21. package/.claude/skills/bnd-mmibwxup/SKILL.md +21 -0
  22. package/.claude/skills/bnd-mmibx3rg/SKILL.md +21 -0
  23. package/.claude/skills/bnd-mmji0lrp/SKILL.md +21 -0
  24. package/.claude/skills/bnd-mmjinipm/SKILL.md +21 -0
  25. package/.claude/skills/bnd-mmjio875/SKILL.md +21 -0
  26. package/.claude/skills/bnd-mmjiolfg/SKILL.md +21 -0
  27. package/.claude/skills/bnd-mmjit1m3/SKILL.md +21 -0
  28. package/.claude/skills/bnd-mmjita1x/SKILL.md +21 -0
  29. package/.claude/skills/coercion-test/SKILL.md +50 -0
  30. package/.claude/skills/large-skill/SKILL.md +21 -0
  31. package/.claude/skills/long-desc-skill/SKILL.md +21 -0
  32. package/.claude/skills/mcp-dev/SKILL.md +61 -0
  33. package/.claude/skills/nl-mmibweus/SKILL.md +25 -0
  34. package/.claude/skills/nl-mmibwjhf/SKILL.md +25 -0
  35. package/.claude/skills/nl-mmibwsf7/SKILL.md +25 -0
  36. package/.claude/skills/nl-mmibwxvq/SKILL.md +25 -0
  37. package/.claude/skills/nl-mmibx3rt/SKILL.md +25 -0
  38. package/.claude/skills/nl-mmji0lrz/SKILL.md +25 -0
  39. package/.claude/skills/nl-mmjinipx/SKILL.md +25 -0
  40. package/.claude/skills/nl-mmjio87f/SKILL.md +25 -0
  41. package/.claude/skills/nl-mmjiolfs/SKILL.md +25 -0
  42. package/.claude/skills/nl-mmjit1mc/SKILL.md +25 -0
  43. package/.claude/skills/nl-mmjita26/SKILL.md +25 -0
  44. package/.claude/skills/rapid-1/SKILL.md +21 -0
  45. package/.claude/skills/rapid-2/SKILL.md +21 -0
  46. package/.claude/skills/rapid-3/SKILL.md +21 -0
  47. package/.claude/skills/rapid-4/SKILL.md +21 -0
  48. package/.claude/skills/rapid-5/SKILL.md +21 -0
  49. package/.claude/skills/test/", /"malicious/": /"true/SKILL.md" +69 -0
  50. package/.claude/skills/test-emoji-/360/237/230/200-skill/SKILL.md +69 -0
  51. package/.claude/skills/test-skill/SKILL.md +69 -0
  52. package/.claude/skills/test; rm -rf /; skill/SKILL.md +69 -0
  53. package/.claude/skills/test<script>alert(1)</script>skill/SKILL.md +69 -0
  54. package/.claudeignore +5 -0
  55. package/.mcp.json +3 -0
  56. package/CHANGELOG.md +29 -0
  57. package/CLAUDE.md +76 -0
  58. package/LICENSE +21 -0
  59. package/README.md +149 -0
  60. package/ROADMAP.md +526 -0
  61. package/ccboot-PRD-v1.0.docx.md +732 -0
  62. package/ccboot-v1.2.0-enforcement-spec.md +1272 -0
  63. package/dist/cli.d.ts +3 -0
  64. package/dist/cli.d.ts.map +1 -0
  65. package/dist/cli.js +674 -0
  66. package/dist/cli.js.map +1 -0
  67. package/dist/constants.d.ts +25 -0
  68. package/dist/constants.d.ts.map +1 -0
  69. package/dist/constants.js +118 -0
  70. package/dist/constants.js.map +1 -0
  71. package/dist/index.d.ts +3 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +47 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/schemas/common.d.ts +62 -0
  76. package/dist/schemas/common.d.ts.map +1 -0
  77. package/dist/schemas/common.js +15 -0
  78. package/dist/schemas/common.js.map +1 -0
  79. package/dist/schemas/scaffolding.d.ts +277 -0
  80. package/dist/schemas/scaffolding.d.ts.map +1 -0
  81. package/dist/schemas/scaffolding.js +133 -0
  82. package/dist/schemas/scaffolding.js.map +1 -0
  83. package/dist/services/claudemd-generator.d.ts +16 -0
  84. package/dist/services/claudemd-generator.d.ts.map +1 -0
  85. package/dist/services/claudemd-generator.js +426 -0
  86. package/dist/services/claudemd-generator.js.map +1 -0
  87. package/dist/services/codex-generator.d.ts +6 -0
  88. package/dist/services/codex-generator.d.ts.map +1 -0
  89. package/dist/services/codex-generator.js +35 -0
  90. package/dist/services/codex-generator.js.map +1 -0
  91. package/dist/services/cursor-generator.d.ts +15 -0
  92. package/dist/services/cursor-generator.d.ts.map +1 -0
  93. package/dist/services/cursor-generator.js +134 -0
  94. package/dist/services/cursor-generator.js.map +1 -0
  95. package/dist/services/file-ops.d.ts +48 -0
  96. package/dist/services/file-ops.d.ts.map +1 -0
  97. package/dist/services/file-ops.js +153 -0
  98. package/dist/services/file-ops.js.map +1 -0
  99. package/dist/services/output-formatter.d.ts +57 -0
  100. package/dist/services/output-formatter.d.ts.map +1 -0
  101. package/dist/services/output-formatter.js +88 -0
  102. package/dist/services/output-formatter.js.map +1 -0
  103. package/dist/services/platform-detect.d.ts +14 -0
  104. package/dist/services/platform-detect.d.ts.map +1 -0
  105. package/dist/services/platform-detect.js +63 -0
  106. package/dist/services/platform-detect.js.map +1 -0
  107. package/dist/services/project-analyzer.d.ts +71 -0
  108. package/dist/services/project-analyzer.d.ts.map +1 -0
  109. package/dist/services/project-analyzer.js +595 -0
  110. package/dist/services/project-analyzer.js.map +1 -0
  111. package/dist/services/rules-engine.d.ts +41 -0
  112. package/dist/services/rules-engine.d.ts.map +1 -0
  113. package/dist/services/rules-engine.js +304 -0
  114. package/dist/services/rules-engine.js.map +1 -0
  115. package/dist/services/strictness.d.ts +37 -0
  116. package/dist/services/strictness.d.ts.map +1 -0
  117. package/dist/services/strictness.js +182 -0
  118. package/dist/services/strictness.js.map +1 -0
  119. package/dist/services/template-engine.d.ts +16 -0
  120. package/dist/services/template-engine.d.ts.map +1 -0
  121. package/dist/services/template-engine.js +85 -0
  122. package/dist/services/template-engine.js.map +1 -0
  123. package/dist/services/validation.d.ts +41 -0
  124. package/dist/services/validation.d.ts.map +1 -0
  125. package/dist/services/validation.js +104 -0
  126. package/dist/services/validation.js.map +1 -0
  127. package/dist/services/windsurf-generator.d.ts +15 -0
  128. package/dist/services/windsurf-generator.d.ts.map +1 -0
  129. package/dist/services/windsurf-generator.js +127 -0
  130. package/dist/services/windsurf-generator.js.map +1 -0
  131. package/dist/tests/enforcement.test.d.ts +2 -0
  132. package/dist/tests/enforcement.test.d.ts.map +1 -0
  133. package/dist/tests/enforcement.test.js +541 -0
  134. package/dist/tests/enforcement.test.js.map +1 -0
  135. package/dist/tests/enterprise.test.d.ts +2 -0
  136. package/dist/tests/enterprise.test.d.ts.map +1 -0
  137. package/dist/tests/enterprise.test.js +353 -0
  138. package/dist/tests/enterprise.test.js.map +1 -0
  139. package/dist/tests/fuzzing.test.d.ts +2 -0
  140. package/dist/tests/fuzzing.test.d.ts.map +1 -0
  141. package/dist/tests/fuzzing.test.js +596 -0
  142. package/dist/tests/fuzzing.test.js.map +1 -0
  143. package/dist/tests/knowledge.test.d.ts +2 -0
  144. package/dist/tests/knowledge.test.d.ts.map +1 -0
  145. package/dist/tests/knowledge.test.js +292 -0
  146. package/dist/tests/knowledge.test.js.map +1 -0
  147. package/dist/tests/management.test.d.ts +2 -0
  148. package/dist/tests/management.test.d.ts.map +1 -0
  149. package/dist/tests/management.test.js +338 -0
  150. package/dist/tests/management.test.js.map +1 -0
  151. package/dist/tests/scaffolding.test.d.ts +2 -0
  152. package/dist/tests/scaffolding.test.d.ts.map +1 -0
  153. package/dist/tests/scaffolding.test.js +419 -0
  154. package/dist/tests/scaffolding.test.js.map +1 -0
  155. package/dist/tests/test-utils.d.ts +76 -0
  156. package/dist/tests/test-utils.d.ts.map +1 -0
  157. package/dist/tests/test-utils.js +171 -0
  158. package/dist/tests/test-utils.js.map +1 -0
  159. package/dist/tests/tool-harness.d.ts +18 -0
  160. package/dist/tests/tool-harness.d.ts.map +1 -0
  161. package/dist/tests/tool-harness.js +51 -0
  162. package/dist/tests/tool-harness.js.map +1 -0
  163. package/dist/tools/enterprise.d.ts +8 -0
  164. package/dist/tools/enterprise.d.ts.map +1 -0
  165. package/dist/tools/enterprise.js +571 -0
  166. package/dist/tools/enterprise.js.map +1 -0
  167. package/dist/tools/knowledge.d.ts +7 -0
  168. package/dist/tools/knowledge.d.ts.map +1 -0
  169. package/dist/tools/knowledge.js +120 -0
  170. package/dist/tools/knowledge.js.map +1 -0
  171. package/dist/tools/management.d.ts +10 -0
  172. package/dist/tools/management.d.ts.map +1 -0
  173. package/dist/tools/management.js +1541 -0
  174. package/dist/tools/management.js.map +1 -0
  175. package/dist/tools/scaffolding.d.ts +8 -0
  176. package/dist/tools/scaffolding.d.ts.map +1 -0
  177. package/dist/tools/scaffolding.js +736 -0
  178. package/dist/tools/scaffolding.js.map +1 -0
  179. package/dist/types.d.ts +54 -0
  180. package/dist/types.d.ts.map +1 -0
  181. package/dist/types.js +5 -0
  182. package/dist/types.js.map +1 -0
  183. package/landing/app/layout.tsx +30 -0
  184. package/landing/app/page.tsx +944 -0
  185. package/landing/next-env.d.ts +6 -0
  186. package/landing/next.config.js +6 -0
  187. package/landing/package-lock.json +896 -0
  188. package/landing/package.json +20 -0
  189. package/landing/tsconfig.json +40 -0
  190. package/package.json +49 -0
  191. package/rebar-v2.0.0-platform-spec.md +1567 -0
  192. package/server.json +20 -0
  193. package/src/cli.ts +735 -0
  194. package/src/constants.ts +131 -0
  195. package/src/index.ts +54 -0
  196. package/src/schemas/common.ts +22 -0
  197. package/src/schemas/scaffolding.ts +161 -0
  198. package/src/services/claudemd-generator.ts +481 -0
  199. package/src/services/codex-generator.ts +44 -0
  200. package/src/services/cursor-generator.ts +153 -0
  201. package/src/services/file-ops.ts +172 -0
  202. package/src/services/platform-detect.ts +80 -0
  203. package/src/services/project-analyzer.ts +690 -0
  204. package/src/services/rules-engine.ts +353 -0
  205. package/src/services/strictness.ts +202 -0
  206. package/src/services/template-engine.ts +119 -0
  207. package/src/services/validation.ts +138 -0
  208. package/src/services/windsurf-generator.ts +145 -0
  209. package/src/tests/enforcement.test.ts +794 -0
  210. package/src/tests/enterprise.test.ts +483 -0
  211. package/src/tests/fuzzing.test.ts +690 -0
  212. package/src/tests/knowledge.test.ts +371 -0
  213. package/src/tests/management.test.ts +451 -0
  214. package/src/tests/scaffolding.test.ts +575 -0
  215. package/src/tests/test-utils.ts +206 -0
  216. package/src/tests/tool-harness.ts +70 -0
  217. package/src/tools/enterprise.ts +666 -0
  218. package/src/tools/knowledge.ts +162 -0
  219. package/src/tools/management.ts +1706 -0
  220. package/src/tools/scaffolding.ts +909 -0
  221. package/src/types.ts +93 -0
  222. package/supabase/.temp/cli-latest +1 -0
  223. package/supabase/.temp/gotrue-version +1 -0
  224. package/supabase/.temp/pooler-url +1 -0
  225. package/supabase/.temp/postgres-version +1 -0
  226. package/supabase/.temp/project-ref +1 -0
  227. package/supabase/.temp/rest-version +1 -0
  228. package/supabase/.temp/storage-migration +1 -0
  229. package/supabase/.temp/storage-version +1 -0
  230. package/templates/agents/explore.md +41 -0
  231. package/templates/agents/plan.md +73 -0
  232. package/templates/agents/security-auditor.md +77 -0
  233. package/templates/agents/test-runner.md +60 -0
  234. package/templates/claudemd/fastapi.md +49 -0
  235. package/templates/claudemd/monorepo.md +48 -0
  236. package/templates/claudemd/nextjs.md +52 -0
  237. package/templates/claudemd/react-spa.md +50 -0
  238. package/templates/claudemd/springboot.md +50 -0
  239. package/templates/hooks/danger-blocker.json +11 -0
  240. package/templates/hooks/format-on-write.json +17 -0
  241. package/templates/hooks/lint-on-write.json +16 -0
  242. package/templates/hooks/secret-detector.json +11 -0
  243. package/templates/skills/code-review.md +68 -0
  244. package/templates/skills/documentation.md +62 -0
  245. package/templates/skills/performance-audit.md +80 -0
  246. package/templates/skills/security-scan.md +66 -0
  247. package/templates/skills/test-writer.md +56 -0
  248. package/tsconfig.json +19 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management.test.js","sourceRoot":"","sources":["../../src/tests/management.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EAEZ,iBAAiB,EAEjB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEhE,oCAAoC;AACpC,MAAM,CAAC,GAAG,EAAE;IACV,eAAe,EAAE,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,gFAAgF;IAChF,iFAAiF;IACjF,EAAE,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;gBACzC,gBAAgB,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;aACjD,CAAC,CAAC;YAEH,iBAAiB;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC/B,kBAAkB,CAAC,YAAY,EAAE,cAAc,CAAC,CACjD,CAAC;YAEF,+CAA+C;YAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,EAAE;gBACtD,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,MAAM;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,MAAM,GAAG,mBAAmB,CAA0B,MAAM,CAAC,CAAC;YAEpE,qBAAqB;YACrB,MAAM,SAAS,GAAG;iBACP,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChC,OAAO;aACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAA+B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAChF,CAAC;YAEI,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,wBAAwB,SAAS,EAAE,CAAC,CAAC;YAE9E,MAAM,IAAI,GAAG,MAAM,CAAC,IAA+B,CAAC;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,SAA0C,IAAI,EAAE,CAAC;YAExE,wCAAwC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,0BAA0B,SAAS,EAAE,CAAC,CAAC;YAC7E,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,mCAAmC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1F,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,sCAAsC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClG,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;gBACzC,gBAAgB,EAAE,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;aACjD,CAAC,CAAC;YAEH,iBAAiB;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;YAClE,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC/B,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CACvD,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,EAAE;gBACtD,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,OAAO;aACrB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,0CAA0C,CAAC,CAAC;QACpF,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,kDAAkD;YAClD,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAClC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAC1C,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,EAAE;gBACtD,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAC3E,oCAAoC,CACrC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;aAC1C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,EAAE;gBACtD,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,MAAM;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,MAAM,GAAG,mBAAmB,CAA0B,MAAM,CAAC,CAAC;YACpE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAEvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAA+B,CAAC;YACpD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAC1E,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;gBACzC,gBAAgB,EAAE;oBAChB,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;oBACpC,KAAK,EAAE;wBACL,WAAW,EAAE;4BACX,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE;yBACnD;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,EAAE;gBACvD,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC,CAAC;QACzF,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjC,yBAAyB;YAEzB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,EAAE;gBACvD,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,mCAAmC;YAE9D,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EACvD,iCAAiC,CAClC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;aAC1C,CAAC,CAAC;YAEH,+BAA+B;YAC/B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAC3C,kBAAkB,CACnB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,EAAE;gBACvD,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC7E,0BAA0B,CAC3B,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjC,kCAAkC;YAElC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,EAAE;gBACvD,YAAY,EAAE,OAAO;gBACrB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,sDAAsD;YACtD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAC;YAEjF,wBAAwB;YACxB,MAAM,MAAM,GAAG,mBAAmB,CAA0B,MAAM,CAAC,CAAC;YACpE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC;YACrE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,IAAK,MAAM,CAAC,IAAgC,EAAE,OAAO,EAAE,6BAA6B,CAAC,CAAC;QAChH,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;aAC1C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,EAAE;gBACvD,YAAY,EAAE,OAAO;gBACrB,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,qDAAqD;YACrD,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;QACjF,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;aAC1C,CAAC,CAAC;YAEH,gDAAgD;YAChD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAC3C,sCAAsC,CACvC,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,uBAAuB,EAAE;gBACvD,YAAY,EAAE,OAAO;gBACrB,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9C,iCAAiC,CAClC,CAAC;YAEF,wBAAwB;YACxB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;YACtE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;YAClD,0BAA0B;YAC1B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAS,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACjF,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;aAC1C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,EAAE;gBACrD,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,mCAAmC,CAAC,CAAC;YAChF,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,8BAA8B,CAAC,CAAC;YACtE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC,CAAC;YAC/D,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAC1D,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;aAC1C,CAAC,CAAC;YAEH,sCAAsC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;YAClE,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9C,8CAA8C;YAC9C,MAAM,YAAY,GAChB,kBAAkB,CAAC,aAAa,EAAE,oBAAoB,CAAC;gBACvD,IAAI;gBACJ,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC5B,kCAAkC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEjD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;YAElE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,EAAE;gBACrD,YAAY,EAAE,OAAO;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACvC,gCAAgC;YAChC,MAAM,CAAC,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAChF,+BAA+B,CAChC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;aAC1C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,EAAE;gBACrD,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,MAAM;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,MAAM,GAAG,mBAAmB,CAA0B,MAAM,CAAC,CAAC;YACpE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YAEtD,MAAM,IAAI,GAAG,MAAM,CAAC,IAA+B,CAAC;YACpD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;YACvD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;YAElD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgC,CAAC;YACrD,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,kCAAkC,CAAC,CAAC;YACnF,MAAM,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,+BAA+B,CAAC,CAAC;QAC/E,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,EAAE,qBAAqB,EAAE;aAC1C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,qBAAqB,EAAE;gBACrD,YAAY,EAAE,OAAO;gBACrB,aAAa,EAAE,MAAM;aACtB,CAAC,CAAC;YAEH,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE1B,MAAM,MAAM,GAAG,mBAAmB,CAA0B,MAAM,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,CAAC,IAA+B,CAAC;YACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAiC,CAAC;YAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACzE,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scaffolding.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffolding.test.d.ts","sourceRoot":"","sources":["../../src/tests/scaffolding.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,419 @@
1
+ /**
2
+ * Integration tests for scaffolding tools
3
+ * rebar_init_project, rebar_generate_claudemd, rebar_create_skill,
4
+ * rebar_create_agent, rebar_create_hook, rebar_create_command
5
+ */
6
+ import { describe, it, before } from "node:test";
7
+ import * as assert from "node:assert";
8
+ import { createTestDir, createMockProject, readTestFile, testFileExists, readTestJson, assertToolSuccess, assertToolError, getToolResultText, parseToolResultJson, } from "./test-utils.js";
9
+ import { initializeTools, invokeTool } from "./tool-harness.js";
10
+ // Initialize tools before all tests
11
+ before(() => {
12
+ initializeTools();
13
+ });
14
+ describe("rebar_init_project", () => {
15
+ it("should initialize a new project with all required files", async () => {
16
+ const { path: testDir, cleanup } = await createTestDir();
17
+ try {
18
+ await createMockProject(testDir);
19
+ const result = await invokeTool("rebar_init_project", {
20
+ project_path: testDir,
21
+ tech_stack: ["express"],
22
+ team_size: 5,
23
+ });
24
+ assertToolSuccess(result);
25
+ // Check CLAUDE.md was created
26
+ assert.ok(await testFileExists(testDir, "CLAUDE.md"), "CLAUDE.md should be created");
27
+ // Check .claudeignore was created
28
+ assert.ok(await testFileExists(testDir, ".claudeignore"), ".claudeignore should be created");
29
+ // Check .claude/settings.json was created
30
+ assert.ok(await testFileExists(testDir, ".claude/settings.json"), ".claude/settings.json should be created");
31
+ // Check .mcp.json was created
32
+ assert.ok(await testFileExists(testDir, ".mcp.json"), ".mcp.json should be created");
33
+ // Verify settings.json structure
34
+ const settings = await readTestJson(testDir, ".claude/settings.json");
35
+ assert.ok(settings, "settings.json should be valid JSON");
36
+ assert.ok(settings.permissions, "settings should have permissions");
37
+ }
38
+ finally {
39
+ await cleanup();
40
+ }
41
+ });
42
+ it("should return JSON output when output_format is json", async () => {
43
+ const { path: testDir, cleanup } = await createTestDir();
44
+ try {
45
+ await createMockProject(testDir);
46
+ const result = await invokeTool("rebar_init_project", {
47
+ project_path: testDir,
48
+ tech_stack: ["express"],
49
+ team_size: 5,
50
+ output_format: "json",
51
+ });
52
+ assertToolSuccess(result);
53
+ const parsed = parseToolResultJson(result);
54
+ assert.strictEqual(parsed.success, true);
55
+ assert.strictEqual(parsed.operation, "init_project");
56
+ assert.ok(parsed.data, "JSON should have data field");
57
+ }
58
+ finally {
59
+ await cleanup();
60
+ }
61
+ });
62
+ it("should support dry_run mode", async () => {
63
+ const { path: testDir, cleanup } = await createTestDir();
64
+ try {
65
+ await createMockProject(testDir);
66
+ const result = await invokeTool("rebar_init_project", {
67
+ project_path: testDir,
68
+ tech_stack: ["express"],
69
+ team_size: 5,
70
+ dry_run: true,
71
+ });
72
+ assertToolSuccess(result);
73
+ const text = getToolResultText(result);
74
+ assert.ok(text.includes("DRY RUN"), "Should indicate dry run");
75
+ // CLAUDE.md should NOT be created in dry-run mode
76
+ assert.ok(!(await testFileExists(testDir, "CLAUDE.md")), "CLAUDE.md should NOT be created in dry-run mode");
77
+ }
78
+ finally {
79
+ await cleanup();
80
+ }
81
+ });
82
+ });
83
+ describe("rebar_generate_claudemd", () => {
84
+ it("should generate CLAUDE.md from project analysis", async () => {
85
+ const { path: testDir, cleanup } = await createTestDir();
86
+ try {
87
+ await createMockProject(testDir);
88
+ const result = await invokeTool("rebar_generate_claudemd", {
89
+ project_path: testDir,
90
+ });
91
+ assertToolSuccess(result);
92
+ const claudemd = await readTestFile(testDir, "CLAUDE.md");
93
+ assert.ok(claudemd, "CLAUDE.md should be created");
94
+ assert.ok(claudemd.includes("#"), "Should have markdown headings");
95
+ }
96
+ finally {
97
+ await cleanup();
98
+ }
99
+ });
100
+ it("should detect tech stack from package.json", async () => {
101
+ const { path: testDir, cleanup } = await createTestDir();
102
+ try {
103
+ await createMockProject(testDir, {
104
+ packageJson: {
105
+ name: "nextjs-app",
106
+ dependencies: {
107
+ next: "^14.0.0",
108
+ react: "^18.0.0",
109
+ },
110
+ },
111
+ });
112
+ const result = await invokeTool("rebar_generate_claudemd", {
113
+ project_path: testDir,
114
+ output_format: "json",
115
+ });
116
+ assertToolSuccess(result);
117
+ const parsed = parseToolResultJson(result);
118
+ const data = parsed.data;
119
+ const analysis = data.analysis;
120
+ assert.ok(analysis.stacks.includes("nextjs") ||
121
+ analysis.stacks.includes("react"), "Should detect Next.js or React");
122
+ }
123
+ finally {
124
+ await cleanup();
125
+ }
126
+ });
127
+ it("should support dry_run mode", async () => {
128
+ const { path: testDir, cleanup } = await createTestDir();
129
+ try {
130
+ await createMockProject(testDir);
131
+ const result = await invokeTool("rebar_generate_claudemd", {
132
+ project_path: testDir,
133
+ dry_run: true,
134
+ output_format: "json",
135
+ });
136
+ assertToolSuccess(result);
137
+ const parsed = parseToolResultJson(result);
138
+ assert.strictEqual(parsed.dry_run, true);
139
+ // File should not exist
140
+ assert.ok(!(await testFileExists(testDir, "CLAUDE.md")), "CLAUDE.md should NOT be created in dry-run");
141
+ }
142
+ finally {
143
+ await cleanup();
144
+ }
145
+ });
146
+ });
147
+ describe("rebar_create_skill", () => {
148
+ it("should create a new skill directory with SKILL.md", async () => {
149
+ const { path: testDir, cleanup } = await createTestDir();
150
+ try {
151
+ // Change to test directory for process.cwd() usage
152
+ const originalCwd = process.cwd();
153
+ process.chdir(testDir);
154
+ try {
155
+ await createMockProject(testDir);
156
+ const result = await invokeTool("rebar_create_skill", {
157
+ name: "test-skill",
158
+ description: "A test skill for unit testing",
159
+ });
160
+ assertToolSuccess(result);
161
+ assert.ok(await testFileExists(testDir, ".claude/skills/test-skill/SKILL.md"), "SKILL.md should be created");
162
+ const skillContent = await readTestFile(testDir, ".claude/skills/test-skill/SKILL.md");
163
+ assert.ok(skillContent, "Skill file should have content");
164
+ assert.ok(skillContent.includes("name: test-skill"), "Should have name in frontmatter");
165
+ assert.ok(skillContent.includes("A test skill for unit testing"), "Should have description");
166
+ }
167
+ finally {
168
+ process.chdir(originalCwd);
169
+ }
170
+ }
171
+ finally {
172
+ await cleanup();
173
+ }
174
+ });
175
+ it("should fail if skill already exists", async () => {
176
+ const { path: testDir, cleanup } = await createTestDir();
177
+ try {
178
+ const originalCwd = process.cwd();
179
+ process.chdir(testDir);
180
+ try {
181
+ await createMockProject(testDir);
182
+ // Create first skill
183
+ await invokeTool("rebar_create_skill", {
184
+ name: "existing-skill",
185
+ description: "First skill",
186
+ });
187
+ // Try to create again
188
+ const result = await invokeTool("rebar_create_skill", {
189
+ name: "existing-skill",
190
+ description: "Duplicate skill",
191
+ });
192
+ assertToolError(result);
193
+ const text = getToolResultText(result);
194
+ assert.ok(text.includes("already exists"), "Should mention already exists");
195
+ }
196
+ finally {
197
+ process.chdir(originalCwd);
198
+ }
199
+ }
200
+ finally {
201
+ await cleanup();
202
+ }
203
+ });
204
+ it("should support dry_run mode", async () => {
205
+ const { path: testDir, cleanup } = await createTestDir();
206
+ try {
207
+ const originalCwd = process.cwd();
208
+ process.chdir(testDir);
209
+ try {
210
+ await createMockProject(testDir);
211
+ const result = await invokeTool("rebar_create_skill", {
212
+ name: "dry-run-skill",
213
+ description: "Should not be created",
214
+ dry_run: true,
215
+ });
216
+ assertToolSuccess(result);
217
+ assert.ok(!(await testFileExists(testDir, ".claude/skills/dry-run-skill/SKILL.md")), "Skill should NOT be created in dry-run");
218
+ }
219
+ finally {
220
+ process.chdir(originalCwd);
221
+ }
222
+ }
223
+ finally {
224
+ await cleanup();
225
+ }
226
+ });
227
+ });
228
+ describe("rebar_create_agent", () => {
229
+ it("should create a new agent file", async () => {
230
+ const { path: testDir, cleanup } = await createTestDir();
231
+ try {
232
+ const originalCwd = process.cwd();
233
+ process.chdir(testDir);
234
+ try {
235
+ await createMockProject(testDir);
236
+ const result = await invokeTool("rebar_create_agent", {
237
+ name: "test-agent",
238
+ description: "A test agent for unit testing",
239
+ role: "explore",
240
+ });
241
+ assertToolSuccess(result);
242
+ assert.ok(await testFileExists(testDir, ".claude/agents/test-agent.md"), "Agent file should be created");
243
+ const agentContent = await readTestFile(testDir, ".claude/agents/test-agent.md");
244
+ assert.ok(agentContent, "Agent file should have content");
245
+ assert.ok(agentContent.includes("test-agent"), "Should include agent name");
246
+ }
247
+ finally {
248
+ process.chdir(originalCwd);
249
+ }
250
+ }
251
+ finally {
252
+ await cleanup();
253
+ }
254
+ });
255
+ it("should fail if agent already exists", async () => {
256
+ const { path: testDir, cleanup } = await createTestDir();
257
+ try {
258
+ const originalCwd = process.cwd();
259
+ process.chdir(testDir);
260
+ try {
261
+ await createMockProject(testDir);
262
+ // Create first agent
263
+ await invokeTool("rebar_create_agent", {
264
+ name: "existing-agent",
265
+ description: "First agent",
266
+ role: "explore",
267
+ });
268
+ // Try to create again
269
+ const result = await invokeTool("rebar_create_agent", {
270
+ name: "existing-agent",
271
+ description: "Duplicate agent",
272
+ role: "plan",
273
+ });
274
+ assertToolError(result);
275
+ }
276
+ finally {
277
+ process.chdir(originalCwd);
278
+ }
279
+ }
280
+ finally {
281
+ await cleanup();
282
+ }
283
+ });
284
+ });
285
+ describe("rebar_create_hook", () => {
286
+ it("should add a hook to settings.json", async () => {
287
+ const { path: testDir, cleanup } = await createTestDir();
288
+ try {
289
+ const originalCwd = process.cwd();
290
+ process.chdir(testDir);
291
+ try {
292
+ await createMockProject(testDir);
293
+ const result = await invokeTool("rebar_create_hook", {
294
+ event: "PreToolCall",
295
+ command: "echo test",
296
+ description: "Test hook",
297
+ exit_behavior: "notify",
298
+ });
299
+ assertToolSuccess(result);
300
+ const settings = await readTestJson(testDir, ".claude/settings.json");
301
+ assert.ok(settings, "settings.json should exist");
302
+ assert.ok(settings.hooks, "Should have hooks");
303
+ const hooks = settings.hooks;
304
+ assert.ok(hooks.PreToolCall, "Should have PreToolCall hooks");
305
+ assert.ok(hooks.PreToolCall.some((h) => h.command === "echo test"), "Should contain the new hook");
306
+ }
307
+ finally {
308
+ process.chdir(originalCwd);
309
+ }
310
+ }
311
+ finally {
312
+ await cleanup();
313
+ }
314
+ });
315
+ it("should update existing hook with same command and matcher", async () => {
316
+ const { path: testDir, cleanup } = await createTestDir();
317
+ try {
318
+ const originalCwd = process.cwd();
319
+ process.chdir(testDir);
320
+ try {
321
+ await createMockProject(testDir);
322
+ // Create first hook
323
+ await invokeTool("rebar_create_hook", {
324
+ event: "PreToolCall",
325
+ command: "echo test",
326
+ matcher: "Bash",
327
+ description: "First description",
328
+ exit_behavior: "notify",
329
+ });
330
+ // Update with same command and matcher but different description and exit_behavior
331
+ const result = await invokeTool("rebar_create_hook", {
332
+ event: "PreToolCall",
333
+ command: "echo test",
334
+ matcher: "Bash",
335
+ description: "Updated description",
336
+ exit_behavior: "block",
337
+ });
338
+ assertToolSuccess(result);
339
+ const text = getToolResultText(result);
340
+ assert.ok(text.includes("updated"), "Should indicate update");
341
+ const settings = await readTestJson(testDir, ".claude/settings.json");
342
+ const hooks = settings?.hooks;
343
+ const preToolCallHooks = hooks?.PreToolCall ?? [];
344
+ // Should only have one hook with that command
345
+ const matchingHooks = preToolCallHooks.filter((h) => h.command === "echo test");
346
+ assert.strictEqual(matchingHooks.length, 1, "Should have exactly one hook");
347
+ assert.strictEqual(matchingHooks[0].description, "Updated description", "Hook description should be updated");
348
+ assert.strictEqual(matchingHooks[0].exit_behavior, "block", "Hook exit_behavior should be updated");
349
+ }
350
+ finally {
351
+ process.chdir(originalCwd);
352
+ }
353
+ }
354
+ finally {
355
+ await cleanup();
356
+ }
357
+ });
358
+ });
359
+ describe("rebar_create_command", () => {
360
+ it("should create a command skill", async () => {
361
+ const { path: testDir, cleanup } = await createTestDir();
362
+ try {
363
+ const originalCwd = process.cwd();
364
+ process.chdir(testDir);
365
+ try {
366
+ await createMockProject(testDir);
367
+ const result = await invokeTool("rebar_create_command", {
368
+ name: "test-cmd",
369
+ description: "A test command",
370
+ prompt_body: "Do something useful",
371
+ });
372
+ assertToolSuccess(result);
373
+ assert.ok(await testFileExists(testDir, ".claude/skills/test-cmd/SKILL.md"), "Command skill should be created");
374
+ const skillContent = await readTestFile(testDir, ".claude/skills/test-cmd/SKILL.md");
375
+ assert.ok(skillContent, "Skill file should have content");
376
+ assert.ok(skillContent.includes("invocation: user"), "Should be user-invoked");
377
+ assert.ok(skillContent.includes("Do something useful"), "Should include prompt");
378
+ }
379
+ finally {
380
+ process.chdir(originalCwd);
381
+ }
382
+ }
383
+ finally {
384
+ await cleanup();
385
+ }
386
+ });
387
+ it("should include arguments in command", async () => {
388
+ const { path: testDir, cleanup } = await createTestDir();
389
+ try {
390
+ const originalCwd = process.cwd();
391
+ process.chdir(testDir);
392
+ try {
393
+ await createMockProject(testDir);
394
+ const result = await invokeTool("rebar_create_command", {
395
+ name: "cmd-with-args",
396
+ description: "Command with arguments",
397
+ prompt_body: "Process the input",
398
+ arguments: [
399
+ { name: "target", description: "Target to process", required: true },
400
+ { name: "mode", description: "Processing mode", required: false },
401
+ ],
402
+ });
403
+ assertToolSuccess(result);
404
+ const skillContent = await readTestFile(testDir, ".claude/skills/cmd-with-args/SKILL.md");
405
+ assert.ok(skillContent, "Skill file should have content");
406
+ assert.ok(skillContent.includes("**target**"), "Should include target arg");
407
+ assert.ok(skillContent.includes("(required)"), "Should mark required");
408
+ assert.ok(skillContent.includes("(optional)"), "Should mark optional");
409
+ }
410
+ finally {
411
+ process.chdir(originalCwd);
412
+ }
413
+ }
414
+ finally {
415
+ await cleanup();
416
+ }
417
+ });
418
+ });
419
+ //# sourceMappingURL=scaffolding.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffolding.test.js","sourceRoot":"","sources":["../../src/tests/scaffolding.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Creates an isolated temporary directory for testing
3
+ * Returns cleanup function to remove it after test
4
+ */
5
+ export declare function createTestDir(): Promise<{
6
+ path: string;
7
+ cleanup: () => Promise<void>;
8
+ }>;
9
+ /**
10
+ * Creates a mock project structure for testing
11
+ */
12
+ export declare function createMockProject(testDir: string, options?: {
13
+ packageJson?: Record<string, unknown>;
14
+ existingClaudeMd?: string;
15
+ existingSettings?: Record<string, unknown>;
16
+ techStack?: "node" | "python" | "rust" | "go";
17
+ }): Promise<void>;
18
+ /**
19
+ * Reads a file from test directory, returns null if not found
20
+ */
21
+ export declare function readTestFile(testDir: string, relativePath: string): Promise<string | null>;
22
+ /**
23
+ * Checks if a file exists in test directory
24
+ */
25
+ export declare function testFileExists(testDir: string, relativePath: string): Promise<boolean>;
26
+ /**
27
+ * Parses JSON from a test file
28
+ */
29
+ export declare function readTestJson<T = unknown>(testDir: string, relativePath: string): Promise<T | null>;
30
+ /**
31
+ * Creates a minimal valid CLAUDE.md for testing
32
+ */
33
+ export declare function createMinimalClaudeMd(): string;
34
+ /**
35
+ * Creates a minimal valid skill for testing
36
+ */
37
+ export declare function createMinimalSkill(name: string, description: string): string;
38
+ /**
39
+ * Asserts tool result is successful
40
+ */
41
+ export declare function assertToolSuccess(result: {
42
+ content: Array<{
43
+ type: string;
44
+ text: string;
45
+ }>;
46
+ isError?: boolean;
47
+ }): void;
48
+ /**
49
+ * Asserts tool result is an error
50
+ */
51
+ export declare function assertToolError(result: {
52
+ content: Array<{
53
+ type: string;
54
+ text: string;
55
+ }>;
56
+ isError?: boolean;
57
+ }): void;
58
+ /**
59
+ * Gets text content from tool result
60
+ */
61
+ export declare function getToolResultText(result: {
62
+ content: Array<{
63
+ type: string;
64
+ text: string;
65
+ }>;
66
+ }): string;
67
+ /**
68
+ * Parses JSON output from tool result
69
+ */
70
+ export declare function parseToolResultJson<T = unknown>(result: {
71
+ content: Array<{
72
+ type: string;
73
+ text: string;
74
+ }>;
75
+ }): T;
76
+ //# sourceMappingURL=test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/tests/test-utils.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC,CAaD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;CAC1C,GACL,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMhG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO5F;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAQxG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAY9C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAY5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAKrH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAInH;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAEpG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,CAAC,CAG9G"}