specweave 0.4.1 → 0.6.3

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 (400) hide show
  1. package/.claude-plugin/README.md +312 -0
  2. package/.claude-plugin/marketplace.json +210 -0
  3. package/CLAUDE.md +952 -609
  4. package/README.md +179 -761
  5. package/bin/install-agents.sh +1 -1
  6. package/bin/install-commands.sh +66 -14
  7. package/bin/install-hooks.sh +1 -1
  8. package/bin/install-skills.sh +1 -1
  9. package/bin/specweave.js +2 -0
  10. package/dist/adapters/claude/adapter.d.ts +49 -11
  11. package/dist/adapters/claude/adapter.d.ts.map +1 -1
  12. package/dist/adapters/claude/adapter.js +175 -42
  13. package/dist/adapters/claude/adapter.js.map +1 -1
  14. package/dist/adapters/copilot/adapter.d.ts +20 -2
  15. package/dist/adapters/copilot/adapter.d.ts.map +1 -1
  16. package/dist/adapters/copilot/adapter.js +117 -7
  17. package/dist/adapters/copilot/adapter.js.map +1 -1
  18. package/dist/adapters/cursor/adapter.d.ts +18 -0
  19. package/dist/adapters/cursor/adapter.d.ts.map +1 -1
  20. package/dist/adapters/cursor/adapter.js +55 -3
  21. package/dist/adapters/cursor/adapter.js.map +1 -1
  22. package/dist/adapters/generic/adapter.d.ts +18 -0
  23. package/dist/adapters/generic/adapter.d.ts.map +1 -1
  24. package/dist/adapters/generic/adapter.js +55 -3
  25. package/dist/adapters/generic/adapter.js.map +1 -1
  26. package/dist/cli/commands/init.d.ts +1 -0
  27. package/dist/cli/commands/init.d.ts.map +1 -1
  28. package/dist/cli/commands/init.js +521 -185
  29. package/dist/cli/commands/init.js.map +1 -1
  30. package/dist/cli/commands/install.d.ts +2 -0
  31. package/dist/cli/commands/install.d.ts.map +1 -1
  32. package/dist/cli/commands/install.js +28 -25
  33. package/dist/cli/commands/install.js.map +1 -1
  34. package/dist/cli/commands/list.d.ts +2 -0
  35. package/dist/cli/commands/list.d.ts.map +1 -1
  36. package/dist/cli/commands/list.js +26 -24
  37. package/dist/cli/commands/list.js.map +1 -1
  38. package/dist/cli/commands/plugin.d.ts +23 -6
  39. package/dist/cli/commands/plugin.d.ts.map +1 -1
  40. package/dist/cli/commands/plugin.js +92 -66
  41. package/dist/cli/commands/plugin.js.map +1 -1
  42. package/dist/core/i18n/language-detector.d.ts +29 -0
  43. package/dist/core/i18n/language-detector.d.ts.map +1 -0
  44. package/dist/core/i18n/language-detector.js +143 -0
  45. package/dist/core/i18n/language-detector.js.map +1 -0
  46. package/dist/core/i18n/language-manager.d.ts +101 -0
  47. package/dist/core/i18n/language-manager.d.ts.map +1 -0
  48. package/dist/core/i18n/language-manager.js +232 -0
  49. package/dist/core/i18n/language-manager.js.map +1 -0
  50. package/dist/core/i18n/language-registry.d.ts +44 -0
  51. package/dist/core/i18n/language-registry.d.ts.map +1 -0
  52. package/dist/core/i18n/language-registry.js +234 -0
  53. package/dist/core/i18n/language-registry.js.map +1 -0
  54. package/dist/core/i18n/locale-manager.d.ts +62 -0
  55. package/dist/core/i18n/locale-manager.d.ts.map +1 -0
  56. package/dist/core/i18n/locale-manager.js +137 -0
  57. package/dist/core/i18n/locale-manager.js.map +1 -0
  58. package/dist/core/i18n/system-prompt-injector.d.ts +33 -0
  59. package/dist/core/i18n/system-prompt-injector.d.ts.map +1 -0
  60. package/dist/core/i18n/system-prompt-injector.js +131 -0
  61. package/dist/core/i18n/system-prompt-injector.js.map +1 -0
  62. package/dist/core/i18n/types.d.ts +151 -0
  63. package/dist/core/i18n/types.d.ts.map +1 -0
  64. package/dist/core/i18n/types.js +11 -0
  65. package/dist/core/i18n/types.js.map +1 -0
  66. package/dist/core/increment-status.d.ts +72 -0
  67. package/dist/core/increment-status.d.ts.map +1 -0
  68. package/dist/core/increment-status.js +227 -0
  69. package/dist/core/increment-status.js.map +1 -0
  70. package/dist/core/plugin-loader.d.ts +33 -13
  71. package/dist/core/plugin-loader.d.ts.map +1 -1
  72. package/dist/core/plugin-loader.js +145 -43
  73. package/dist/core/plugin-loader.js.map +1 -1
  74. package/dist/core/types/config.d.ts +51 -0
  75. package/dist/core/types/config.d.ts.map +1 -0
  76. package/dist/core/types/config.js +21 -0
  77. package/dist/core/types/config.js.map +1 -0
  78. package/dist/core/types/plugin.d.ts +73 -42
  79. package/dist/core/types/plugin.d.ts.map +1 -1
  80. package/dist/core/types/plugin.js +4 -3
  81. package/dist/core/types/plugin.js.map +1 -1
  82. package/dist/hooks/lib/sync-living-docs.d.ts +27 -0
  83. package/dist/hooks/lib/sync-living-docs.d.ts.map +1 -0
  84. package/dist/hooks/lib/sync-living-docs.js +116 -0
  85. package/dist/hooks/lib/sync-living-docs.js.map +1 -0
  86. package/dist/hooks/lib/translate-living-docs.d.ts +13 -0
  87. package/dist/hooks/lib/translate-living-docs.d.ts.map +1 -0
  88. package/dist/hooks/lib/translate-living-docs.js +166 -0
  89. package/dist/hooks/lib/translate-living-docs.js.map +1 -0
  90. package/dist/hooks/lib/update-tasks-md.d.ts +29 -0
  91. package/dist/hooks/lib/update-tasks-md.d.ts.map +1 -0
  92. package/dist/hooks/lib/update-tasks-md.js +203 -0
  93. package/dist/hooks/lib/update-tasks-md.js.map +1 -0
  94. package/dist/integrations/jira/jira-incremental-mapper.js.map +1 -1
  95. package/dist/integrations/jira/jira-mapper.js.map +1 -1
  96. package/dist/locales/de/.gitkeep +0 -0
  97. package/dist/locales/de/cli.json +108 -0
  98. package/dist/locales/en/cli.json +285 -0
  99. package/dist/locales/en/errors.json +7 -0
  100. package/dist/locales/en/templates.json +6 -0
  101. package/dist/locales/es/.gitkeep +0 -0
  102. package/dist/locales/es/cli.json +41 -0
  103. package/dist/locales/fr/.gitkeep +0 -0
  104. package/dist/locales/fr/cli.json +108 -0
  105. package/dist/locales/ja/.gitkeep +0 -0
  106. package/dist/locales/ja/cli.json +108 -0
  107. package/dist/locales/ko/.gitkeep +0 -0
  108. package/dist/locales/ko/cli.json +108 -0
  109. package/dist/locales/pt/.gitkeep +0 -0
  110. package/dist/locales/pt/cli.json +108 -0
  111. package/dist/locales/ru/.gitkeep +0 -0
  112. package/dist/locales/ru/cli.json +269 -0
  113. package/dist/locales/zh/.gitkeep +0 -0
  114. package/dist/locales/zh/cli.json +108 -0
  115. package/dist/plugins/specweave-github/lib/github-client.d.ts +86 -0
  116. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -0
  117. package/dist/plugins/specweave-github/lib/github-client.js +275 -0
  118. package/dist/plugins/specweave-github/lib/github-client.js.map +1 -0
  119. package/dist/plugins/specweave-github/lib/index.d.ts +10 -0
  120. package/dist/plugins/specweave-github/lib/index.d.ts.map +1 -0
  121. package/dist/plugins/specweave-github/lib/index.js +10 -0
  122. package/dist/plugins/specweave-github/lib/index.js.map +1 -0
  123. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts +51 -0
  124. package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +1 -0
  125. package/dist/plugins/specweave-github/lib/subtask-sync.js +147 -0
  126. package/dist/plugins/specweave-github/lib/subtask-sync.js.map +1 -0
  127. package/dist/plugins/specweave-github/lib/task-parser.d.ts +37 -0
  128. package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +1 -0
  129. package/dist/plugins/specweave-github/lib/task-parser.js +211 -0
  130. package/dist/plugins/specweave-github/lib/task-parser.js.map +1 -0
  131. package/dist/plugins/specweave-github/lib/task-sync.d.ts +51 -0
  132. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -0
  133. package/dist/plugins/specweave-github/lib/task-sync.js +332 -0
  134. package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -0
  135. package/dist/plugins/specweave-github/lib/types.d.ts +80 -0
  136. package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -0
  137. package/dist/plugins/specweave-github/lib/types.js +5 -0
  138. package/dist/plugins/specweave-github/lib/types.js.map +1 -0
  139. package/dist/utils/agents-md-compiler.d.ts +68 -0
  140. package/dist/utils/agents-md-compiler.d.ts.map +1 -0
  141. package/dist/utils/agents-md-compiler.js +420 -0
  142. package/dist/utils/agents-md-compiler.js.map +1 -0
  143. package/dist/utils/execFileNoThrow.d.ts +97 -0
  144. package/dist/utils/execFileNoThrow.d.ts.map +1 -0
  145. package/dist/utils/execFileNoThrow.js +130 -0
  146. package/dist/utils/execFileNoThrow.js.map +1 -0
  147. package/dist/utils/generate-skills-index.js +4 -4
  148. package/dist/utils/generate-skills-index.js.map +1 -1
  149. package/package.json +13 -14
  150. package/plugins/.specweave/logs/hooks-debug.log +24 -0
  151. package/plugins/.specweave/logs/last-hook-fire +1 -0
  152. package/plugins/.specweave/logs/last-todowrite-time +1 -0
  153. package/plugins/.specweave/logs/tasks.log +6 -0
  154. package/plugins/specweave/.claude-plugin/plugin.json +22 -0
  155. package/{src → plugins/specweave}/agents/pm/AGENT.md +80 -0
  156. package/plugins/specweave/agents/translator/AGENT.md +282 -0
  157. package/{src → plugins/specweave}/commands/README.md +11 -11
  158. package/{src/commands/specweave.costs.md → plugins/specweave/commands/costs.md} +8 -8
  159. package/{src/commands/specweave.do.md → plugins/specweave/commands/do.md} +35 -8
  160. package/{src/commands/specweave.done.md → plugins/specweave/commands/done.md} +1 -1
  161. package/{src/commands/specweave.inc.md → plugins/specweave/commands/inc.md} +1 -1
  162. package/{src/commands/specweave.increment.md → plugins/specweave/commands/increment.md} +84 -19
  163. package/{src/commands/specweave.next.md → plugins/specweave/commands/next.md} +1 -1
  164. package/{src/commands/specweave.progress.md → plugins/specweave/commands/progress.md} +1 -1
  165. package/{src → plugins/specweave}/commands/specweave.md +57 -25
  166. package/{src/commands/specweave.sync-docs.md → plugins/specweave/commands/sync-docs.md} +6 -6
  167. package/plugins/specweave/commands/translate.md +425 -0
  168. package/{src/commands/specweave.validate.md → plugins/specweave/commands/validate.md} +2 -2
  169. package/plugins/specweave/hooks/hooks.json +15 -0
  170. package/plugins/specweave/hooks/post-task-completion.sh +265 -0
  171. package/plugins/specweave/skills/SKILLS-INDEX.md +229 -0
  172. package/{src → plugins/specweave}/skills/brownfield-analyzer/SKILL.md +66 -24
  173. package/{src → plugins/specweave}/skills/context-loader/SKILL.md +1 -1
  174. package/plugins/specweave/skills/context-optimizer/SKILL.md +588 -0
  175. package/plugins/specweave/skills/docs-updater/SKILL.md +0 -0
  176. package/{src → plugins/specweave}/skills/increment-planner/SKILL.md +81 -4
  177. package/plugins/specweave/skills/plugin-detector/SKILL.md +211 -0
  178. package/{src → plugins/specweave}/skills/project-kickstarter/SKILL.md +7 -7
  179. package/plugins/specweave/skills/rfc-generator/SKILL.md +369 -0
  180. package/{src → plugins/specweave}/skills/specweave-detector/SKILL.md +2 -2
  181. package/plugins/specweave/skills/specweave-framework/SKILL.md +498 -0
  182. package/plugins/specweave/skills/specweave-framework/test-cases/test-1-increment-naming.yaml +11 -0
  183. package/plugins/specweave/skills/specweave-framework/test-cases/test-2-source-of-truth.yaml +11 -0
  184. package/plugins/specweave/skills/specweave-framework/test-cases/test-3-increment-discipline.yaml +12 -0
  185. package/plugins/specweave/skills/specweave-framework/test-cases/test-4-file-placement.yaml +11 -0
  186. package/{src → plugins/specweave}/skills/tdd-workflow/SKILL.md +21 -21
  187. package/plugins/specweave/skills/translator/SKILL.md +172 -0
  188. package/plugins/specweave-ado/.claude-plugin/plugin.json +8 -0
  189. package/plugins/specweave-alternatives/.claude-plugin/plugin.json +8 -0
  190. package/plugins/specweave-alternatives/skills/bmad-method-expert/SKILL.md +626 -0
  191. package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/analyze-project.js +318 -0
  192. package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/check-setup.js +208 -0
  193. package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/generate-template.js +1149 -0
  194. package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/validate-documents.js +340 -0
  195. package/plugins/specweave-alternatives/skills/spec-kit-expert/SKILL.md +1010 -0
  196. package/plugins/specweave-backend/.claude-plugin/plugin.json +8 -0
  197. package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +8 -0
  198. package/plugins/specweave-diagrams/.claude-plugin/plugin.json +8 -0
  199. package/plugins/specweave-docs/.claude-plugin/plugin.json +8 -0
  200. package/plugins/specweave-docs/skills/docusaurus/SKILL.md +526 -0
  201. package/plugins/specweave-figma/.claude-plugin/.mcp.json +12 -0
  202. package/plugins/specweave-figma/.claude-plugin/plugin.json +8 -0
  203. package/plugins/specweave-figma/ARCHITECTURE.md +453 -0
  204. package/plugins/specweave-figma/README.md +728 -0
  205. package/plugins/specweave-figma/skills/figma-to-code/SKILL.md +632 -0
  206. package/plugins/specweave-figma/skills/figma-to-code/test-1-token-generation.yaml +29 -0
  207. package/plugins/specweave-figma/skills/figma-to-code/test-2-component-generation.yaml +27 -0
  208. package/plugins/specweave-figma/skills/figma-to-code/test-3-typescript-generation.yaml +28 -0
  209. package/plugins/specweave-frontend/.claude-plugin/plugin.json +8 -0
  210. package/plugins/specweave-github/.claude-plugin/plugin.json +19 -0
  211. package/plugins/specweave-github/agents/github-manager/AGENT.md +651 -0
  212. package/plugins/specweave-github/commands/github-close-issue.md +418 -0
  213. package/plugins/specweave-github/commands/github-create-issue.md +307 -0
  214. package/plugins/specweave-github/commands/github-status.md +533 -0
  215. package/plugins/specweave-github/commands/github-sync-tasks.md +530 -0
  216. package/plugins/specweave-github/commands/github-sync.md +443 -0
  217. package/plugins/specweave-github/lib/github-client.ts +330 -0
  218. package/plugins/specweave-github/lib/index.ts +10 -0
  219. package/plugins/specweave-github/lib/subtask-sync.ts +225 -0
  220. package/plugins/specweave-github/lib/task-parser.ts +246 -0
  221. package/plugins/specweave-github/lib/task-sync.ts +402 -0
  222. package/plugins/specweave-github/lib/types.ts +86 -0
  223. package/plugins/specweave-github/skills/github-issue-tracker/SKILL.md +497 -0
  224. package/plugins/specweave-github/skills/github-sync/SKILL.md +461 -0
  225. package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +8 -0
  226. package/plugins/specweave-jira/.claude-plugin/plugin.json +8 -0
  227. package/{src → plugins/specweave-jira}/commands/specweave.sync-jira.md +18 -18
  228. package/plugins/specweave-kubernetes/.claude-plugin/plugin.json +8 -0
  229. package/plugins/specweave-ml/.claude-plugin/plugin.json +38 -0
  230. package/plugins/specweave-ml/README.md +885 -0
  231. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +402 -0
  232. package/plugins/specweave-ml/commands/ml-deploy.md +116 -0
  233. package/plugins/specweave-ml/commands/ml-evaluate.md +87 -0
  234. package/plugins/specweave-ml/commands/ml-explain.md +83 -0
  235. package/plugins/specweave-ml/skills/anomaly-detector/SKILL.md +559 -0
  236. package/plugins/specweave-ml/skills/automl-optimizer/SKILL.md +485 -0
  237. package/plugins/specweave-ml/skills/cv-pipeline-builder/SKILL.md +157 -0
  238. package/plugins/specweave-ml/skills/data-visualizer/SKILL.md +521 -0
  239. package/plugins/specweave-ml/skills/experiment-tracker/SKILL.md +535 -0
  240. package/plugins/specweave-ml/skills/feature-engineer/SKILL.md +566 -0
  241. package/plugins/specweave-ml/skills/ml-deployment-helper/SKILL.md +345 -0
  242. package/plugins/specweave-ml/skills/ml-pipeline-orchestrator/SKILL.md +518 -0
  243. package/plugins/specweave-ml/skills/model-evaluator/SKILL.md +155 -0
  244. package/plugins/specweave-ml/skills/model-explainer/SKILL.md +227 -0
  245. package/plugins/specweave-ml/skills/model-registry/SKILL.md +541 -0
  246. package/plugins/specweave-ml/skills/nlp-pipeline-builder/SKILL.md +180 -0
  247. package/plugins/specweave-ml/skills/time-series-forecaster/SKILL.md +569 -0
  248. package/plugins/specweave-payments/.claude-plugin/plugin.json +8 -0
  249. package/plugins/specweave-testing/.claude-plugin/plugin.json +8 -0
  250. package/plugins/specweave-tooling/.claude-plugin/plugin.json +8 -0
  251. package/plugins/specweave-ui/.claude-plugin/plugin.json +26 -0
  252. package/plugins/specweave-ui/.mcp.json +14 -0
  253. package/plugins/specweave-ui/README.md +386 -0
  254. package/src/adapters/claude/adapter.ts +193 -46
  255. package/src/adapters/copilot/adapter.ts +132 -7
  256. package/src/adapters/cursor/adapter.ts +62 -3
  257. package/src/adapters/generic/adapter.ts +62 -3
  258. package/src/templates/AGENTS.md.template +170 -1
  259. package/src/templates/CLAUDE.md.template +122 -24
  260. package/src/templates/tasks.md.template +261 -0
  261. package/src/agents/ml-engineer/AGENT.md +0 -150
  262. package/src/commands/specweave.sync-github.md +0 -269
  263. package/src/hooks/post-task-completion.sh +0 -121
  264. package/src/skills/SKILLS-INDEX.md +0 -444
  265. package/src/skills/github-sync/SKILL.md +0 -234
  266. /package/{src → plugins/specweave}/agents/architect/AGENT.md +0 -0
  267. /package/{src → plugins/specweave}/agents/code-reviewer.md +0 -0
  268. /package/{src → plugins/specweave}/agents/docs-writer/AGENT.md +0 -0
  269. /package/{src → plugins/specweave}/agents/performance/AGENT.md +0 -0
  270. /package/{src → plugins/specweave}/agents/qa-lead/AGENT.md +0 -0
  271. /package/{src → plugins/specweave}/agents/security/AGENT.md +0 -0
  272. /package/{src → plugins/specweave}/agents/tdd-orchestrator/AGENT.md +0 -0
  273. /package/{src → plugins/specweave}/agents/tech-lead/AGENT.md +0 -0
  274. /package/{src/commands/specweave.list-increments.md → plugins/specweave/commands/list-increments.md} +0 -0
  275. /package/{src/commands/specweave.tdd-cycle.md → plugins/specweave/commands/tdd-cycle.md} +0 -0
  276. /package/{src/commands/specweave.tdd-green.md → plugins/specweave/commands/tdd-green.md} +0 -0
  277. /package/{src/commands/specweave.tdd-red.md → plugins/specweave/commands/tdd-red.md} +0 -0
  278. /package/{src/commands/specweave.tdd-refactor.md → plugins/specweave/commands/tdd-refactor.md} +0 -0
  279. /package/{src → plugins/specweave}/hooks/README.md +0 -0
  280. /package/{src → plugins/specweave}/hooks/docs-changed.sh +0 -0
  281. /package/{src → plugins/specweave}/hooks/human-input-required.sh +0 -0
  282. /package/{src → plugins/specweave}/hooks/post-increment-plugin-detect.sh +0 -0
  283. /package/{src → plugins/specweave}/hooks/pre-implementation.sh +0 -0
  284. /package/{src → plugins/specweave}/hooks/pre-task-plugin-detect.sh +0 -0
  285. /package/{src → plugins/specweave}/skills/brownfield-onboarder/SKILL.md +0 -0
  286. /package/{src → plugins/specweave}/skills/docs-updater/README.md +0 -0
  287. /package/{src → plugins/specweave}/skills/increment-planner/scripts/feature-utils.js +0 -0
  288. /package/{src → plugins/specweave}/skills/increment-quality-judge/SKILL.md +0 -0
  289. /package/{src → plugins/specweave}/skills/project-kickstarter/test-cases/test-1-high-confidence-full-product.yaml +0 -0
  290. /package/{src → plugins/specweave}/skills/project-kickstarter/test-cases/test-2-medium-confidence-partial.yaml +0 -0
  291. /package/{src → plugins/specweave}/skills/project-kickstarter/test-cases/test-3-low-confidence-technical-question.yaml +0 -0
  292. /package/{src → plugins/specweave}/skills/project-kickstarter/test-cases/test-4-opt-out-explicit.yaml +0 -0
  293. /package/{src → plugins/specweave}/skills/role-orchestrator/README.md +0 -0
  294. /package/{src → plugins/specweave}/skills/role-orchestrator/SKILL.md +0 -0
  295. /package/{src → plugins/specweave}/skills/task-builder/README.md +0 -0
  296. /package/{src → plugins/specweave-ado}/skills/ado-sync/README.md +0 -0
  297. /package/{src → plugins/specweave-ado}/skills/ado-sync/SKILL.md +0 -0
  298. /package/{src → plugins/specweave-ado}/skills/specweave-ado-mapper/SKILL.md +0 -0
  299. /package/{src → plugins/specweave-backend}/agents/database-optimizer/AGENT.md +0 -0
  300. /package/{src → plugins/specweave-backend}/skills/dotnet-backend/SKILL.md +0 -0
  301. /package/{src → plugins/specweave-backend}/skills/nodejs-backend/SKILL.md +0 -0
  302. /package/{src → plugins/specweave-backend}/skills/python-backend/SKILL.md +0 -0
  303. /package/{src → plugins/specweave-cost-optimizer}/skills/cost-optimizer/SKILL.md +0 -0
  304. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/AGENT.md +0 -0
  305. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/c4-component-template.mmd +0 -0
  306. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/c4-container-template.mmd +0 -0
  307. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/c4-context-template.mmd +0 -0
  308. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/deployment-template.mmd +0 -0
  309. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/er-diagram-template.mmd +0 -0
  310. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/sequence-template.mmd +0 -0
  311. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -0
  312. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/test-cases/test-2-sequence.yaml +0 -0
  313. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -0
  314. /package/{src → plugins/specweave-diagrams}/skills/diagrams-architect/SKILL.md +0 -0
  315. /package/{src → plugins/specweave-diagrams}/skills/diagrams-generator/SKILL.md +0 -0
  316. /package/{src → plugins/specweave-docs}/skills/spec-driven-brainstorming/README.md +0 -0
  317. /package/{src → plugins/specweave-docs}/skills/spec-driven-brainstorming/SKILL.md +0 -0
  318. /package/{src → plugins/specweave-docs}/skills/spec-driven-debugging/README.md +0 -0
  319. /package/{src → plugins/specweave-docs}/skills/spec-driven-debugging/SKILL.md +0 -0
  320. /package/{src → plugins/specweave-frontend}/skills/design-system-architect/SKILL.md +0 -0
  321. /package/{src → plugins/specweave-frontend}/skills/frontend/SKILL.md +0 -0
  322. /package/{src → plugins/specweave-frontend}/skills/nextjs/SKILL.md +0 -0
  323. /package/{src → plugins/specweave-infrastructure}/agents/devops/AGENT.md +0 -0
  324. /package/{src → plugins/specweave-infrastructure}/agents/network-engineer/AGENT.md +0 -0
  325. /package/{src → plugins/specweave-infrastructure}/agents/observability-engineer/AGENT.md +0 -0
  326. /package/{src → plugins/specweave-infrastructure}/agents/performance-engineer/AGENT.md +0 -0
  327. /package/{src → plugins/specweave-infrastructure}/agents/sre/AGENT.md +0 -0
  328. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/backend-diagnostics.md +0 -0
  329. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/database-diagnostics.md +0 -0
  330. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/infrastructure.md +0 -0
  331. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/monitoring.md +0 -0
  332. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/security-incidents.md +0 -0
  333. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/ui-diagnostics.md +0 -0
  334. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/01-high-cpu-usage.md +0 -0
  335. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/02-database-deadlock.md +0 -0
  336. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/03-memory-leak.md +0 -0
  337. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/04-slow-api-response.md +0 -0
  338. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/05-ddos-attack.md +0 -0
  339. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/06-disk-full.md +0 -0
  340. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/07-service-down.md +0 -0
  341. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/08-data-corruption.md +0 -0
  342. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/09-cascade-failure.md +0 -0
  343. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/10-rate-limit-exceeded.md +0 -0
  344. /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/health-check.sh +0 -0
  345. /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/log-analyzer.py +0 -0
  346. /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/metrics-collector.sh +0 -0
  347. /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/trace-analyzer.js +0 -0
  348. /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/incident-report.md +0 -0
  349. /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/mitigation-plan.md +0 -0
  350. /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/post-mortem.md +0 -0
  351. /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/runbook-template.md +0 -0
  352. /package/{src → plugins/specweave-infrastructure}/commands/specweave.monitor-setup.md +0 -0
  353. /package/{src → plugins/specweave-infrastructure}/commands/specweave.slo-implement.md +0 -0
  354. /package/{src → plugins/specweave-infrastructure}/skills/distributed-tracing/SKILL.md +0 -0
  355. /package/{src → plugins/specweave-infrastructure}/skills/grafana-dashboards/SKILL.md +0 -0
  356. /package/{src → plugins/specweave-infrastructure}/skills/hetzner-provisioner/README.md +0 -0
  357. /package/{src → plugins/specweave-infrastructure}/skills/hetzner-provisioner/SKILL.md +0 -0
  358. /package/{src → plugins/specweave-infrastructure}/skills/prometheus-configuration/SKILL.md +0 -0
  359. /package/{src → plugins/specweave-infrastructure}/skills/slo-implementation/SKILL.md +0 -0
  360. /package/{src → plugins/specweave-jira}/skills/jira-sync/README.md +0 -0
  361. /package/{src → plugins/specweave-jira}/skills/jira-sync/SKILL.md +0 -0
  362. /package/{src → plugins/specweave-jira}/skills/specweave-jira-mapper/SKILL.md +0 -0
  363. /package/{src → plugins/specweave-kubernetes}/agents/kubernetes-architect/AGENT.md +0 -0
  364. /package/{src → plugins/specweave-kubernetes}/skills/gitops-workflow/SKILL.md +0 -0
  365. /package/{src → plugins/specweave-kubernetes}/skills/gitops-workflow/references/argocd-setup.md +0 -0
  366. /package/{src → plugins/specweave-kubernetes}/skills/gitops-workflow/references/sync-policies.md +0 -0
  367. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/SKILL.md +0 -0
  368. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/assets/Chart.yaml.template +0 -0
  369. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/assets/values.yaml.template +0 -0
  370. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/references/chart-structure.md +0 -0
  371. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/scripts/validate-chart.sh +0 -0
  372. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/SKILL.md +0 -0
  373. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/assets/configmap-template.yaml +0 -0
  374. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/assets/deployment-template.yaml +0 -0
  375. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/assets/service-template.yaml +0 -0
  376. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/references/deployment-spec.md +0 -0
  377. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/references/service-spec.md +0 -0
  378. /package/{src → plugins/specweave-kubernetes}/skills/k8s-security-policies/SKILL.md +0 -0
  379. /package/{src → plugins/specweave-kubernetes}/skills/k8s-security-policies/assets/network-policy-template.yaml +0 -0
  380. /package/{src → plugins/specweave-kubernetes}/skills/k8s-security-policies/references/rbac-patterns.md +0 -0
  381. /package/{src → plugins/specweave-ml}/agents/data-scientist/AGENT.md +0 -0
  382. /package/{src → plugins/specweave-ml}/agents/mlops-engineer/AGENT.md +0 -0
  383. /package/{src → plugins/specweave-ml}/commands/specweave.ml-pipeline.md +0 -0
  384. /package/{src → plugins/specweave-ml}/skills/ml-pipeline-workflow/SKILL.md +0 -0
  385. /package/{src → plugins/specweave-payments}/agents/payment-integration/AGENT.md +0 -0
  386. /package/{src → plugins/specweave-payments}/skills/billing-automation/SKILL.md +0 -0
  387. /package/{src → plugins/specweave-payments}/skills/paypal-integration/SKILL.md +0 -0
  388. /package/{src → plugins/specweave-payments}/skills/pci-compliance/SKILL.md +0 -0
  389. /package/{src → plugins/specweave-payments}/skills/stripe-integration/SKILL.md +0 -0
  390. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/README.md +0 -0
  391. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/SKILL.md +0 -0
  392. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/execute.js +0 -0
  393. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/lib/utils.js +0 -0
  394. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/package.json +0 -0
  395. /package/{src → plugins/specweave-tooling}/skills/skill-creator/LICENSE.txt +0 -0
  396. /package/{src → plugins/specweave-tooling}/skills/skill-creator/SKILL.md +0 -0
  397. /package/{src → plugins/specweave-tooling}/skills/skill-creator/scripts/init_skill.py +0 -0
  398. /package/{src → plugins/specweave-tooling}/skills/skill-creator/scripts/package_skill.py +0 -0
  399. /package/{src → plugins/specweave-tooling}/skills/skill-creator/scripts/quick_validate.py +0 -0
  400. /package/{src → plugins/specweave-tooling}/skills/skill-router/SKILL.md +0 -0
@@ -0,0 +1,97 @@
1
+ import { ExecFileException } from 'child_process';
2
+ /**
3
+ * Result from command execution
4
+ */
5
+ export interface ExecResult {
6
+ /** Standard output from command */
7
+ stdout: string;
8
+ /** Standard error from command */
9
+ stderr: string;
10
+ /** Exit code (0 = success) */
11
+ exitCode: number;
12
+ /** Whether command succeeded (exitCode === 0) */
13
+ success: boolean;
14
+ /** Error object if command failed */
15
+ error?: ExecFileException;
16
+ }
17
+ /**
18
+ * Safely execute a command without throwing errors
19
+ *
20
+ * This utility uses child_process.execFile instead of exec/execSync:
21
+ * - ✅ Prevents command injection vulnerabilities (no shell interpolation)
22
+ * - ✅ Cross-platform compatible (Windows, Mac, Linux)
23
+ * - ✅ Proper error handling (returns result instead of throwing)
24
+ * - ✅ Structured output (stdout, stderr, exitCode)
25
+ *
26
+ * @param command - Command to execute (must be in PATH or absolute path)
27
+ * @param args - Array of arguments (safely escaped automatically)
28
+ * @param options - Additional execution options
29
+ * @returns Promise resolving to execution result
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * // ✅ Safe: Arguments automatically escaped
34
+ * const result = await execFileNoThrow('git', ['add', userProvidedFilename]);
35
+ * if (result.success) {
36
+ * console.log('Git add succeeded:', result.stdout);
37
+ * } else {
38
+ * console.error('Git add failed:', result.stderr);
39
+ * }
40
+ *
41
+ * // ✅ Check if command exists
42
+ * const which = process.platform === 'win32' ? 'where' : 'which';
43
+ * const checkResult = await execFileNoThrow(which, ['claude']);
44
+ * if (checkResult.success) {
45
+ * console.log('Claude CLI found at:', checkResult.stdout.trim());
46
+ * }
47
+ * ```
48
+ */
49
+ export declare function execFileNoThrow(command: string, args?: string[], options?: {
50
+ cwd?: string;
51
+ env?: NodeJS.ProcessEnv;
52
+ timeout?: number;
53
+ maxBuffer?: number;
54
+ }): Promise<ExecResult>;
55
+ /**
56
+ * Synchronous version of execFileNoThrow
57
+ *
58
+ * Use sparingly - prefer async version when possible.
59
+ * Useful for initialization code that needs to be synchronous.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const result = execFileNoThrowSync('claude', ['--version']);
64
+ * if (result.success) {
65
+ * console.log('Claude version:', result.stdout.trim());
66
+ * }
67
+ * ```
68
+ */
69
+ export declare function execFileNoThrowSync(command: string, args?: string[], options?: {
70
+ cwd?: string;
71
+ env?: NodeJS.ProcessEnv;
72
+ timeout?: number;
73
+ maxBuffer?: number;
74
+ }): ExecResult;
75
+ /**
76
+ * Check if a command is available in PATH
77
+ *
78
+ * Cross-platform helper that uses 'which' (Unix) or 'where' (Windows)
79
+ *
80
+ * @param command - Command name to check (e.g., 'claude', 'git', 'node')
81
+ * @returns Promise resolving to true if command exists, false otherwise
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * if (await isCommandAvailable('claude')) {
86
+ * console.log('Claude CLI is installed');
87
+ * } else {
88
+ * console.log('Claude CLI not found - install from https://claude.com/code');
89
+ * }
90
+ * ```
91
+ */
92
+ export declare function isCommandAvailable(command: string): Promise<boolean>;
93
+ /**
94
+ * Synchronous version of isCommandAvailable
95
+ */
96
+ export declare function isCommandAvailableSync(command: string): boolean;
97
+ //# sourceMappingURL=execFileNoThrow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execFileNoThrow.d.ts","sourceRoot":"","sources":["../../src/utils/execFileNoThrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAK1E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,OAAO,CAAC,UAAU,CAAC,CA0BrB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,UAAU,CAuBZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAI/D"}
@@ -0,0 +1,130 @@
1
+ import { execFile, execFileSync } from 'child_process';
2
+ import { promisify } from 'util';
3
+ const execFileAsync = promisify(execFile);
4
+ /**
5
+ * Safely execute a command without throwing errors
6
+ *
7
+ * This utility uses child_process.execFile instead of exec/execSync:
8
+ * - ✅ Prevents command injection vulnerabilities (no shell interpolation)
9
+ * - ✅ Cross-platform compatible (Windows, Mac, Linux)
10
+ * - ✅ Proper error handling (returns result instead of throwing)
11
+ * - ✅ Structured output (stdout, stderr, exitCode)
12
+ *
13
+ * @param command - Command to execute (must be in PATH or absolute path)
14
+ * @param args - Array of arguments (safely escaped automatically)
15
+ * @param options - Additional execution options
16
+ * @returns Promise resolving to execution result
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // ✅ Safe: Arguments automatically escaped
21
+ * const result = await execFileNoThrow('git', ['add', userProvidedFilename]);
22
+ * if (result.success) {
23
+ * console.log('Git add succeeded:', result.stdout);
24
+ * } else {
25
+ * console.error('Git add failed:', result.stderr);
26
+ * }
27
+ *
28
+ * // ✅ Check if command exists
29
+ * const which = process.platform === 'win32' ? 'where' : 'which';
30
+ * const checkResult = await execFileNoThrow(which, ['claude']);
31
+ * if (checkResult.success) {
32
+ * console.log('Claude CLI found at:', checkResult.stdout.trim());
33
+ * }
34
+ * ```
35
+ */
36
+ export async function execFileNoThrow(command, args = [], options = {}) {
37
+ try {
38
+ const { stdout, stderr } = await execFileAsync(command, args, {
39
+ ...options,
40
+ encoding: 'utf-8',
41
+ // Windows compatibility: execFile automatically finds .exe/.cmd/.bat
42
+ windowsHide: true, // Don't show console window on Windows
43
+ });
44
+ return {
45
+ stdout: stdout || '',
46
+ stderr: stderr || '',
47
+ exitCode: 0,
48
+ success: true,
49
+ };
50
+ }
51
+ catch (error) {
52
+ const execError = error;
53
+ return {
54
+ stdout: execError.stdout || '',
55
+ stderr: execError.stderr || '',
56
+ exitCode: typeof execError.code === 'number' ? execError.code : 1,
57
+ success: false,
58
+ error: execError,
59
+ };
60
+ }
61
+ }
62
+ /**
63
+ * Synchronous version of execFileNoThrow
64
+ *
65
+ * Use sparingly - prefer async version when possible.
66
+ * Useful for initialization code that needs to be synchronous.
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * const result = execFileNoThrowSync('claude', ['--version']);
71
+ * if (result.success) {
72
+ * console.log('Claude version:', result.stdout.trim());
73
+ * }
74
+ * ```
75
+ */
76
+ export function execFileNoThrowSync(command, args = [], options = {}) {
77
+ try {
78
+ const stdout = execFileSync(command, args, {
79
+ ...options,
80
+ encoding: 'utf-8',
81
+ windowsHide: true,
82
+ });
83
+ return {
84
+ stdout: stdout || '',
85
+ stderr: '',
86
+ exitCode: 0,
87
+ success: true,
88
+ };
89
+ }
90
+ catch (error) {
91
+ return {
92
+ stdout: error.stdout || '',
93
+ stderr: error.stderr || '',
94
+ exitCode: typeof error.status === 'number' ? error.status : 1,
95
+ success: false,
96
+ error: error,
97
+ };
98
+ }
99
+ }
100
+ /**
101
+ * Check if a command is available in PATH
102
+ *
103
+ * Cross-platform helper that uses 'which' (Unix) or 'where' (Windows)
104
+ *
105
+ * @param command - Command name to check (e.g., 'claude', 'git', 'node')
106
+ * @returns Promise resolving to true if command exists, false otherwise
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * if (await isCommandAvailable('claude')) {
111
+ * console.log('Claude CLI is installed');
112
+ * } else {
113
+ * console.log('Claude CLI not found - install from https://claude.com/code');
114
+ * }
115
+ * ```
116
+ */
117
+ export async function isCommandAvailable(command) {
118
+ const whichCommand = process.platform === 'win32' ? 'where' : 'which';
119
+ const result = await execFileNoThrow(whichCommand, [command]);
120
+ return result.success;
121
+ }
122
+ /**
123
+ * Synchronous version of isCommandAvailable
124
+ */
125
+ export function isCommandAvailableSync(command) {
126
+ const whichCommand = process.platform === 'win32' ? 'where' : 'which';
127
+ const result = execFileNoThrowSync(whichCommand, [command]);
128
+ return result.success;
129
+ }
130
+ //# sourceMappingURL=execFileNoThrow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execFileNoThrow.js","sourceRoot":"","sources":["../../src/utils/execFileNoThrow.ts"],"names":[],"mappings":"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"}
@@ -350,8 +350,8 @@ This index simulates Claude Code's native progressive disclosure:
350
350
  */
351
351
  export async function generateSkillsIndex(outputPath) {
352
352
  console.log('🔍 Scanning skills...');
353
- // Determine skills directory
354
- const skillsDir = path.join(__dirname, '../../src/skills');
353
+ // Determine skills directory (root-level after v0.5.0 Claude native architecture)
354
+ const skillsDir = path.join(__dirname, '../../skills');
355
355
  if (!fs.existsSync(skillsDir)) {
356
356
  throw new Error(`Skills directory not found: ${skillsDir}`);
357
357
  }
@@ -374,8 +374,8 @@ export async function generateSkillsIndex(outputPath) {
374
374
  console.log(`✅ Found ${skills.length} skills`);
375
375
  // Generate markdown
376
376
  const markdown = generateIndexMarkdown(skills);
377
- // Determine output path
378
- const defaultOutputPath = path.join(__dirname, '../../src/skills/SKILLS-INDEX.md');
377
+ // Determine output path (root-level after v0.5.0 Claude native architecture)
378
+ const defaultOutputPath = path.join(__dirname, '../../skills/SKILLS-INDEX.md');
379
379
  const finalOutputPath = outputPath || defaultOutputPath;
380
380
  // Write to file
381
381
  fs.writeFileSync(finalOutputPath, markdown, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"generate-skills-index.js","sourceRoot":"","sources":["../../src/utils/generate-skills-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-skills-index.js","sourceRoot":"","sources":["../../src/utils/generate-skills-index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "0.4.1",
4
- "description": "Replace vibe coding with spec-driven development. Smart workflow: /specweave inc auto-closes previous, /specweave build auto-resumes, /specweave progress shows status. PM-led planning, 10 agents, 35+ skills. spec-weave.com",
3
+ "version": "0.6.3",
4
+ "description": "Replace vibe coding with spec-driven development. LLM-native i18n in 9 languages. Smart workflow: /specweave inc auto-closes previous, /specweave build auto-resumes, /specweave progress shows status. PM-led planning, 10 agents, 35+ skills. spec-weave.com",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
8
  "specweave": "./bin/specweave.js"
9
9
  },
10
10
  "scripts": {
11
- "build": "tsc",
11
+ "build": "tsc && npm run copy:locales",
12
+ "copy:locales": "node scripts/copy-locales.js",
12
13
  "dev": "tsc --watch",
13
14
  "prepare": "npm run build",
14
15
  "test": "jest",
@@ -22,18 +23,14 @@
22
23
  "test:incremental:jira": "npx tsx tests/integration/jira-sync/jira-incremental-sync.test.ts",
23
24
  "test:ml:pipeline": "npx tsx tests/integration/ml-pipeline-workflow/ml-pipeline-soccer-detection.test.ts",
24
25
  "test:ml:real": "npx tsx tests/integration/ml-pipeline-workflow/ml-pipeline-real-video.test.ts",
26
+ "test:github-sync": "npx tsx scripts/test-github-sync.ts",
25
27
  "generate:tests": "npx tsx scripts/generate-tests.ts",
26
28
  "generate:tests:skill": "npx tsx scripts/generate-tests.ts",
27
29
  "test:all:generated": "bash scripts/run-all-tests.sh",
28
30
  "test:all": "npm test && npm run test:smoke && npm run test:integration",
29
31
  "generate:skills-index": "npx tsx src/utils/generate-skills-index.ts",
30
32
  "prepublishOnly": "npm run build",
31
- "install:agents": "bash bin/install-agents.sh",
32
- "install:skills": "bash bin/install-skills.sh",
33
- "install:all": "bash bin/install-all.sh",
34
- "install:agents:global": "bash bin/install-agents.sh --global",
35
- "install:skills:global": "bash bin/install-skills.sh --global",
36
- "install:all:global": "bash bin/install-all.sh --global",
33
+ "install:deprecated": "echo '⚠️ DEPRECATED: Install scripts no longer needed for Claude Code (native loading). For other tools, run: specweave init'",
37
34
  "generate:diagrams": "bash scripts/generate-diagram-svgs.sh",
38
35
  "docs:dev": "cd docs-site && npm start",
39
36
  "docs:build": "cd docs-site && npm run build"
@@ -62,16 +59,18 @@
62
59
  },
63
60
  "homepage": "https://spec-weave.com",
64
61
  "engines": {
65
- "node": ">=18.0.0"
62
+ "node": ">=20.0.0"
66
63
  },
67
64
  "files": [
68
65
  "dist",
69
66
  "bin",
67
+ ".claude-plugin",
68
+ "skills",
69
+ "agents",
70
+ "commands",
71
+ "hooks",
72
+ "plugins",
70
73
  "src/templates",
71
- "src/skills",
72
- "src/agents",
73
- "src/commands",
74
- "src/hooks",
75
74
  "src/adapters",
76
75
  "README.md",
77
76
  "SPECWEAVE.md",
@@ -0,0 +1,24 @@
1
+ [Mon Nov 3 09:34:04 EST 2025] 📋 TodoWrite hook fired
2
+ [Mon Nov 3 09:34:04 EST 2025] Input JSON:
3
+ {"session_id":"0838c8f3-363c-474c-b220-be7164977242","transcript_path":"/Users/antonabyzov/.claude/projects/-Users-antonabyzov-Projects-github-specweave/0838c8f3-363c-474c-b220-be7164977242.jsonl","cwd":"/Users/antonabyzov/Projects/github/specweave","permission_mode":"bypassPermissions","hook_event_name":"PostToolUse","tool_name":"TodoWrite","tool_input":{"todos":[{"content":"Analyze failing GitHub Actions workflows","status":"completed","activeForm":"Analyzing failing GitHub Actions workflows"},{"content":"Fix cross-platform copy:locales script for Windows support","status":"completed","activeForm":"Fixing cross-platform copy:locales script for Windows support"},{"content":"Update Node.js minimum version to 20.x for dependencies","status":"completed","activeForm":"Updating Node.js minimum version to 20.x for dependencies"},{"content":"Test the build locally to verify copy-locales script works","status":"completed","activeForm":"Testing the build locally to verify copy-locales script works"},{"content":"Check and fix Jest test configuration","status":"completed","activeForm":"Checking and fixing Jest test configuration"},{"content":"Fix E2E smoke test failures","status":"completed","activeForm":"Fixing E2E smoke test failures"},{"content":"Commit and push all fixes","status":"completed","activeForm":"Committing and pushing all fixes"}]},"tool_response":{"oldTodos":[{"content":"Analyze failing GitHub Actions workflows","status":"completed","activeForm":"Analyzing failing GitHub Actions workflows"},{"content":"Fix cross-platform copy:locales script for Windows support","status":"completed","activeForm":"Fixing cross-platform copy:locales script for Windows support"},{"content":"Update Node.js minimum version to 20.x for dependencies","status":"completed","activeForm":"Updating Node.js minimum version to 20.x for dependencies"},{"content":"Test the build locally to verify copy-locales script works","status":"completed","activeForm":"Testing the build locally to verify copy-locales script works"},{"content":"Check and fix Jest test configuration","status":"completed","activeForm":"Checking and fixing Jest test configuration"},{"content":"Fix E2E smoke test failures","status":"completed","activeForm":"Fixing E2E smoke test failures"},{"content":"Commit and push all fixes","status":"in_progress","activeForm":"Committing and pushing all fixes"}],"newTodos":[{"content":"Analyze failing GitHub Actions workflows","status":"completed","activeForm":"Analyzing failing GitHub Actions workflows"},{"content":"Fix cross-platform copy:locales script for Windows support","status":"completed","activeForm":"Fixing cross-platform copy:locales script for Windows support"},{"content":"Update Node.js minimum version to 20.x for dependencies","status":"completed","activeForm":"Updating Node.js minimum version to 20.x for dependencies"},{"content":"Test the build locally to verify copy-locales script works","status":"completed","activeForm":"Testing the build locally to verify copy-locales script works"},{"content":"Check and fix Jest test configuration","status":"completed","activeForm":"Checking and fixing Jest test configuration"},{"content":"Fix E2E smoke test failures","status":"completed","activeForm":"Fixing E2E smoke test failures"},{"content":"Commit and push all fixes","status":"completed","activeForm":"Committing and pushing all fixes"}]}}
4
+ [Mon Nov 3 09:34:04 EST 2025] 🆕 First TodoWrite in session
5
+ [Mon Nov 3 09:34:04 EST 2025] 📊 Tasks: 7/7 completed
6
+ [Mon Nov 3 09:34:04 EST 2025] ⚡ All tasks complete, but rapid activity (0s < 15s) - Claude likely creating more work (no sound)
7
+ [Mon Nov 3 09:34:04 EST 2025] ℹ️ No current increment or tasks.md found, skipping tasks.md update
8
+ ---
9
+ [Mon Nov 3 13:38:00 EST 2025] 📋 TodoWrite hook fired
10
+ [Mon Nov 3 13:38:00 EST 2025] Input JSON:
11
+ {"session_id":"2bd78607-8a30-4dc4-a33c-a79f383b2cf5","transcript_path":"/Users/antonabyzov/.claude/projects/-Users-antonabyzov-Projects-github-specweave/2bd78607-8a30-4dc4-a33c-a79f383b2cf5.jsonl","cwd":"/Users/antonabyzov/Projects/github/specweave","permission_mode":"bypassPermissions","hook_event_name":"PostToolUse","tool_name":"TodoWrite","tool_input":{"todos":[{"content":"Rename plugin directory from specweave-core to specweave","status":"pending","activeForm":"Renaming plugin directory from specweave-core to specweave"},{"content":"Update plugin.json with new name","status":"pending","activeForm":"Updating plugin.json with new name"},{"content":"Rename all command files (remove specweave. prefix)","status":"pending","activeForm":"Renaming all command files (remove specweave. prefix)"},{"content":"Update marketplace.json registry","status":"pending","activeForm":"Updating marketplace.json registry"},{"content":"Update CLAUDE.md with new command format","status":"pending","activeForm":"Updating CLAUDE.md with new command format"},{"content":"Update README.md with new command format","status":"pending","activeForm":"Updating README.md with new command format"},{"content":"Update all Docusaurus site documentation","status":"pending","activeForm":"Updating all Docusaurus site documentation"},{"content":"Update source code references to plugin name","status":"pending","activeForm":"Updating source code references to plugin name"},{"content":"Update test files with new plugin name","status":"pending","activeForm":"Updating test files with new plugin name"},{"content":"Update increment specs/plans with new command format","status":"pending","activeForm":"Updating increment specs/plans with new command format"}]},"tool_response":{"oldTodos":[],"newTodos":[{"content":"Rename plugin directory from specweave-core to specweave","status":"pending","activeForm":"Renaming plugin directory from specweave-core to specweave"},{"content":"Update plugin.json with new name","status":"pending","activeForm":"Updating plugin.json with new name"},{"content":"Rename all command files (remove specweave. prefix)","status":"pending","activeForm":"Renaming all command files (remove specweave. prefix)"},{"content":"Update marketplace.json registry","status":"pending","activeForm":"Updating marketplace.json registry"},{"content":"Update CLAUDE.md with new command format","status":"pending","activeForm":"Updating CLAUDE.md with new command format"},{"content":"Update README.md with new command format","status":"pending","activeForm":"Updating README.md with new command format"},{"content":"Update all Docusaurus site documentation","status":"pending","activeForm":"Updating all Docusaurus site documentation"},{"content":"Update source code references to plugin name","status":"pending","activeForm":"Updating source code references to plugin name"},{"content":"Update test files with new plugin name","status":"pending","activeForm":"Updating test files with new plugin name"},{"content":"Update increment specs/plans with new command format","status":"pending","activeForm":"Updating increment specs/plans with new command format"}]}}
12
+ [Mon Nov 3 13:38:00 EST 2025] ⏱️ Inactivity gap: 14636s (threshold: 15s)
13
+ [Mon Nov 3 13:38:00 EST 2025] 📊 Tasks: 0/10 completed
14
+ [Mon Nov 3 13:38:00 EST 2025] 🔄 Tasks remaining in current list (no sound)
15
+ [Mon Nov 3 13:38:00 EST 2025] ℹ️ No current increment or tasks.md found, skipping tasks.md update
16
+ ---
17
+ [Mon Nov 3 13:38:09 EST 2025] 📋 TodoWrite hook fired
18
+ [Mon Nov 3 13:38:09 EST 2025] Input JSON:
19
+ {"session_id":"2bd78607-8a30-4dc4-a33c-a79f383b2cf5","transcript_path":"/Users/antonabyzov/.claude/projects/-Users-antonabyzov-Projects-github-specweave/2bd78607-8a30-4dc4-a33c-a79f383b2cf5.jsonl","cwd":"/Users/antonabyzov/Projects/github/specweave","permission_mode":"bypassPermissions","hook_event_name":"PostToolUse","tool_name":"TodoWrite","tool_input":{"todos":[{"content":"Rename plugin directory from specweave-core to specweave","status":"in_progress","activeForm":"Renaming plugin directory from specweave-core to specweave"},{"content":"Update plugin.json with new name","status":"pending","activeForm":"Updating plugin.json with new name"},{"content":"Rename all command files (remove specweave. prefix)","status":"pending","activeForm":"Renaming all command files (remove specweave. prefix)"},{"content":"Update marketplace.json registry","status":"pending","activeForm":"Updating marketplace.json registry"},{"content":"Update CLAUDE.md with new command format","status":"pending","activeForm":"Updating CLAUDE.md with new command format"},{"content":"Update README.md with new command format","status":"pending","activeForm":"Updating README.md with new command format"},{"content":"Update all Docusaurus site documentation","status":"pending","activeForm":"Updating all Docusaurus site documentation"},{"content":"Update source code references to plugin name","status":"pending","activeForm":"Updating source code references to plugin name"},{"content":"Update test files with new plugin name","status":"pending","activeForm":"Updating test files with new plugin name"},{"content":"Update increment specs/plans with new command format","status":"pending","activeForm":"Updating increment specs/plans with new command format"}]},"tool_response":{"oldTodos":[{"content":"Rename plugin directory from specweave-core to specweave","status":"pending","activeForm":"Renaming plugin directory from specweave-core to specweave"},{"content":"Update plugin.json with new name","status":"pending","activeForm":"Updating plugin.json with new name"},{"content":"Rename all command files (remove specweave. prefix)","status":"pending","activeForm":"Renaming all command files (remove specweave. prefix)"},{"content":"Update marketplace.json registry","status":"pending","activeForm":"Updating marketplace.json registry"},{"content":"Update CLAUDE.md with new command format","status":"pending","activeForm":"Updating CLAUDE.md with new command format"},{"content":"Update README.md with new command format","status":"pending","activeForm":"Updating README.md with new command format"},{"content":"Update all Docusaurus site documentation","status":"pending","activeForm":"Updating all Docusaurus site documentation"},{"content":"Update source code references to plugin name","status":"pending","activeForm":"Updating source code references to plugin name"},{"content":"Update test files with new plugin name","status":"pending","activeForm":"Updating test files with new plugin name"},{"content":"Update increment specs/plans with new command format","status":"pending","activeForm":"Updating increment specs/plans with new command format"}],"newTodos":[{"content":"Rename plugin directory from specweave-core to specweave","status":"in_progress","activeForm":"Renaming plugin directory from specweave-core to specweave"},{"content":"Update plugin.json with new name","status":"pending","activeForm":"Updating plugin.json with new name"},{"content":"Rename all command files (remove specweave. prefix)","status":"pending","activeForm":"Renaming all command files (remove specweave. prefix)"},{"content":"Update marketplace.json registry","status":"pending","activeForm":"Updating marketplace.json registry"},{"content":"Update CLAUDE.md with new command format","status":"pending","activeForm":"Updating CLAUDE.md with new command format"},{"content":"Update README.md with new command format","status":"pending","activeForm":"Updating README.md with new command format"},{"content":"Update all Docusaurus site documentation","status":"pending","activeForm":"Updating all Docusaurus site documentation"},{"content":"Update source code references to plugin name","status":"pending","activeForm":"Updating source code references to plugin name"},{"content":"Update test files with new plugin name","status":"pending","activeForm":"Updating test files with new plugin name"},{"content":"Update increment specs/plans with new command format","status":"pending","activeForm":"Updating increment specs/plans with new command format"}]}}
20
+ [Mon Nov 3 13:38:09 EST 2025] ⏱️ Inactivity gap: 9s (threshold: 15s)
21
+ [Mon Nov 3 13:38:09 EST 2025] 📊 Tasks: 0/10 completed
22
+ [Mon Nov 3 13:38:09 EST 2025] 🔄 Tasks remaining in current list (no sound)
23
+ [Mon Nov 3 13:38:09 EST 2025] ℹ️ No current increment or tasks.md found, skipping tasks.md update
24
+ ---
@@ -0,0 +1 @@
1
+ 1762195089
@@ -0,0 +1 @@
1
+ 1762195089
@@ -0,0 +1,6 @@
1
+ [Mon Nov 3 09:34:04 EST 2025] Status: All_completed=true, Session_ending=false, Inactivity=0s
2
+ [Mon Nov 3 09:34:04 EST 2025] Reason: All tasks complete, but rapid activity (0s < 15s) - Claude likely creating more work
3
+ [Mon Nov 3 13:38:00 EST 2025] Status: All_completed=false, Session_ending=false, Inactivity=14636s
4
+ [Mon Nov 3 13:38:00 EST 2025] Reason: Tasks remaining in current list
5
+ [Mon Nov 3 13:38:09 EST 2025] Status: All_completed=false, Session_ending=false, Inactivity=9s
6
+ [Mon Nov 3 13:38:09 EST 2025] Reason: Tasks remaining in current list
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "specweave",
3
+ "description": "SpecWeave framework. Provides increment planning (PM, Architect, Tech Lead agents), RFC generation, TDD workflow, living docs sync, and brownfield support. Essential for all SpecWeave projects.",
4
+ "version": "0.6.1",
5
+ "author": {
6
+ "name": "SpecWeave Team",
7
+ "url": "https://spec-weave.com"
8
+ },
9
+ "homepage": "https://spec-weave.com",
10
+ "repository": "https://github.com/anton-abyzov/specweave",
11
+ "license": "MIT",
12
+ "keywords": [
13
+ "specweave",
14
+ "core",
15
+ "increment-planning",
16
+ "rfc",
17
+ "tdd",
18
+ "pm",
19
+ "architect",
20
+ "living-docs"
21
+ ]
22
+ }
@@ -27,6 +27,86 @@ These guides contain:
27
27
 
28
28
  ---
29
29
 
30
+ ## ⛔ CRITICAL: Increment Discipline (v0.6.0+ MANDATORY)
31
+
32
+ **THE IRON RULE**: You CANNOT plan increment N+1 until increment N is DONE.
33
+
34
+ **ENFORCEMENT**: This is NON-NEGOTIABLE. You MUST enforce strict increment discipline.
35
+
36
+ ### Pre-Planning Validation (Step 0 - MANDATORY)
37
+
38
+ **BEFORE planning any new increment**, you MUST:
39
+
40
+ ```typescript
41
+ // Import the status detector
42
+ import { IncrementStatusDetector } from '../../src/core/increment-status';
43
+
44
+ // Check for incomplete increments
45
+ const detector = new IncrementStatusDetector();
46
+ const incomplete = await detector.getAllIncomplete();
47
+
48
+ if (incomplete.length > 0) {
49
+ // ❌ BLOCK IMMEDIATELY - Do NOT proceed with planning
50
+ console.log('❌ Cannot plan new increment! Previous increments incomplete.');
51
+ console.log('');
52
+
53
+ incomplete.forEach(status => {
54
+ console.log(`📋 ${status.id}: ${status.percentComplete}% complete`);
55
+ console.log(` ${status.completedTasks}/${status.totalTasks} tasks done`);
56
+ if (status.pendingTasks.length <= 3) {
57
+ status.pendingTasks.forEach(task => {
58
+ console.log(` - ${task.id}: ${task.title}`);
59
+ });
60
+ }
61
+ });
62
+
63
+ console.log('');
64
+ console.log('💡 Use /specweave:close to close incomplete increments.');
65
+ console.log('');
66
+
67
+ // EXIT - Do NOT plan
68
+ throw new Error('Increment discipline violation: Previous increments incomplete');
69
+ }
70
+
71
+ // ✅ If we reach here, all previous increments are complete
72
+ // Proceed with planning
73
+ ```
74
+
75
+ ### Why This Matters
76
+
77
+ **Without discipline**:
78
+ - Multiple incomplete increments pile up (e.g., 0002, 0003, 0006 all in progress)
79
+ - No clear source of truth ("which increment are we working on?")
80
+ - Living docs become stale (sync doesn't know what's current)
81
+ - Scope creep (jumping between features without finishing)
82
+ - Quality degradation (tests not run, docs not updated)
83
+
84
+ **With discipline**:
85
+ - ✅ ONE increment active at a time
86
+ - ✅ Clear source of truth
87
+ - ✅ Living docs stay current
88
+ - ✅ Focus on completion
89
+ - ✅ Quality enforced
90
+
91
+ ### What "DONE" Means
92
+
93
+ An increment is DONE if **ONE** of:
94
+ 1. All tasks in `tasks.md` marked `[x] Completed`
95
+ 2. `COMPLETION-SUMMARY.md` exists with "✅ COMPLETE" status
96
+ 3. Explicit closure via `/specweave:close`
97
+
98
+ ### Your Responsibility
99
+
100
+ As PM Agent, you are the **gatekeeper**. You MUST:
101
+ - ✅ Check for incomplete increments BEFORE planning
102
+ - ✅ Block if any found (no exceptions!)
103
+ - ✅ Direct user to `/specweave:close`
104
+ - ❌ NEVER plan new increment with incomplete previous work
105
+
106
+ **This is NOT optional. This is framework integrity.**
107
+
108
+ ---
109
+
30
110
  **Role**: Product Manager specialized in product strategy, requirements gathering, and feature prioritization.
31
111
 
32
112
  ## Purpose