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,386 @@
1
+ # SpecWeave UI Plugin
2
+
3
+ **Complete UI/UX Development Toolkit** - Playwright E2E testing, Figma design integration, React/Vue/Angular development, design systems, Storybook component testing.
4
+
5
+ ---
6
+
7
+ ## What's Included
8
+
9
+ ### Skills (7)
10
+
11
+ 1. **e2e-playwright** - Browser automation and E2E testing with Playwright
12
+ - Write automated tests for web applications
13
+ - Cross-browser testing (Chrome, Firefox, Safari, Edge)
14
+ - Screenshot and video capture
15
+ - Accessibility testing
16
+ - Mobile emulation
17
+
18
+ 2. **figma-designer** - Figma design integration and mockup creation
19
+ - Create production-ready Figma designs
20
+ - Design systems with reusable components
21
+ - Design tokens (colors, typography, spacing)
22
+ - Responsive layouts
23
+
24
+ 3. **figma-implementer** - Convert Figma designs to production code
25
+ - Pixel-perfect React/Angular components
26
+ - Extract design tokens automatically
27
+ - Generate TypeScript interfaces from Figma
28
+ - Storybook integration
29
+
30
+ 4. **figma-mcp-connector** - Connect to Figma via MCP servers
31
+ - Read/write Figma files
32
+ - Extract design variables
33
+ - Sync design changes
34
+
35
+ 5. **design-system-architect** - Build scalable design systems
36
+ - Atomic design methodology
37
+ - Component hierarchy (atoms/molecules/organisms)
38
+ - Design token management
39
+ - Brand consistency
40
+
41
+ 6. **frontend** - React, Vue, Angular development
42
+ - Component-driven development
43
+ - State management (Redux, Zustand, Pinia)
44
+ - Form validation and handling
45
+ - Responsive design with Tailwind/CSS modules
46
+ - Accessibility (WCAG 2.1 compliance)
47
+
48
+ 7. **nextjs** - Next.js 14+ App Router specialist
49
+ - Server components and streaming
50
+ - Server actions and mutations
51
+ - Route handlers and middleware
52
+ - Metadata API and SEO
53
+ - NextAuth.js authentication
54
+ - Prisma ORM integration
55
+
56
+ ### Agents (1)
57
+
58
+ **ui-ux-specialist** - Unified agent with expertise across all UI/UX tools
59
+ - Combines knowledge from all 7 skills
60
+ - Coordinates design → implementation → testing workflow
61
+ - Provides holistic UI/UX guidance
62
+
63
+ ### Commands (3)
64
+
65
+ 1. `/ui.test` - Run Playwright E2E tests
66
+ 2. `/ui.design` - Generate Figma designs
67
+ 3. `/ui.implement` - Convert Figma to code
68
+
69
+ ---
70
+
71
+ ## Auto-Detection
72
+
73
+ This plugin **auto-activates** when your project contains:
74
+
75
+ **Package.json dependencies**:
76
+ - `@playwright/test`, `playwright`
77
+ - `figma`, `@figma/rest-api-types`
78
+ - `react`, `react-dom`, `next`
79
+ - `vue`, `@vue/core`
80
+ - `@angular/core`
81
+ - `@storybook/react`
82
+
83
+ **Files/directories**:
84
+ - `playwright.config.ts`
85
+ - `figma.config.json`
86
+ - `.storybook/`
87
+ - `next.config.js`
88
+
89
+ **Keywords in increment descriptions**:
90
+ - "playwright", "e2e", "end-to-end"
91
+ - "figma", "design", "ui", "ux"
92
+ - "react", "next", "vue", "angular"
93
+ - "storybook", "design system"
94
+
95
+ ---
96
+
97
+ ## Installation
98
+
99
+ ### Automatic (Recommended)
100
+
101
+ ```bash
102
+ # SpecWeave detects UI project and suggests plugin
103
+ specweave init
104
+
105
+ # Detected: React + Playwright
106
+ # Installing: specweave-ui
107
+ ```
108
+
109
+ ### Manual
110
+
111
+ ```bash
112
+ # Via SpecWeave CLI
113
+ specweave plugin enable specweave-ui
114
+
115
+ # Via Claude Code
116
+ /plugin install specweave-ui
117
+
118
+ # Via NPM
119
+ npm install -g specweave
120
+ cp -r node_modules/specweave/plugins/specweave-ui .claude/plugins/
121
+ ```
122
+
123
+ ---
124
+
125
+ ## Usage
126
+
127
+ ### E2E Testing with Playwright
128
+
129
+ **Skill auto-activates when you mention:**
130
+ - "Add Playwright tests"
131
+ - "Create E2E test for login"
132
+ - "Test user signup flow"
133
+
134
+ **Example interaction**:
135
+ ```
136
+ User: Add Playwright tests for the login page
137
+ AI: I'll create a comprehensive E2E test suite for the login page...
138
+ [Generates tests/e2e/login.spec.ts with Playwright tests]
139
+ ```
140
+
141
+ **Manual command**:
142
+ ```bash
143
+ /ui.test login
144
+ ```
145
+
146
+ ---
147
+
148
+ ### Figma Design Integration
149
+
150
+ **Skill auto-activates when you mention:**
151
+ - "Design in Figma"
152
+ - "Create mockup"
153
+ - "Convert Figma to code"
154
+
155
+ **Example interaction**:
156
+ ```
157
+ User: Convert the Figma dashboard design to React components
158
+ AI: I'll extract the Figma design and generate React components...
159
+ [Generates components with design tokens and TypeScript types]
160
+ ```
161
+
162
+ **Manual command**:
163
+ ```bash
164
+ /ui.design dashboard
165
+ /ui.implement dashboard
166
+ ```
167
+
168
+ ---
169
+
170
+ ### Frontend Development
171
+
172
+ **Skill auto-activates when you mention:**
173
+ - "Create React component"
174
+ - "Build Next.js page"
175
+ - "Add Vue component"
176
+
177
+ **Example interaction**:
178
+ ```
179
+ User: Create a reusable Button component with variants
180
+ AI: I'll create a Button component following atomic design...
181
+ [Generates Button.tsx with primary/secondary variants, Storybook stories, tests]
182
+ ```
183
+
184
+ ---
185
+
186
+ ### Design System Architecture
187
+
188
+ **Skill auto-activates when you mention:**
189
+ - "Design system"
190
+ - "Component library"
191
+ - "Design tokens"
192
+
193
+ **Example interaction**:
194
+ ```
195
+ User: Set up a design system with Tailwind and design tokens
196
+ AI: I'll create a comprehensive design system...
197
+ [Generates tokens.ts, color palette, typography scale, spacing system]
198
+ ```
199
+
200
+ ---
201
+
202
+ ## MCP Integration (Optional)
203
+
204
+ ### Browserbase (Cloud Browser Automation)
205
+
206
+ **What it does**:
207
+ - Runs Playwright tests in cloud infrastructure
208
+ - Parallel test execution (10x faster)
209
+ - No local browser dependencies
210
+ - Automatic screenshots/videos
211
+
212
+ **Setup**:
213
+
214
+ 1. Get API key from [Browserbase](https://www.browserbase.com/)
215
+
216
+ 2. Set environment variables:
217
+ ```bash
218
+ export BROWSERBASE_API_KEY="bb_xxx"
219
+ export BROWSERBASE_PROJECT_ID="proj_xxx"
220
+ ```
221
+
222
+ 3. SpecWeave auto-configures MCP server (via `.mcp.json`)
223
+
224
+ 4. Use in Playwright:
225
+ ```typescript
226
+ // playwright.config.ts
227
+ export default {
228
+ use: {
229
+ connectOptions: {
230
+ wsEndpoint: process.env.BROWSERBASE_WS_ENDPOINT
231
+ }
232
+ }
233
+ }
234
+ ```
235
+
236
+ **Benefits**:
237
+ - ✅ 10x faster parallel execution
238
+ - ✅ No local ChromeDriver installation
239
+ - ✅ Automatic scaling
240
+ - ✅ Works in CI/CD without setup
241
+
242
+ ---
243
+
244
+ ## Workflow Example
245
+
246
+ ### Complete UI Feature Development
247
+
248
+ ```bash
249
+ # 1. Create increment
250
+ /specweave:inc "Add user dashboard with charts"
251
+
252
+ # 2. SpecWeave detects UI work, auto-enables plugin
253
+ # Installing: specweave-ui (Playwright + Figma + React + Design System)
254
+
255
+ # 3. Design phase (Figma skill)
256
+ /ui.design dashboard
257
+
258
+ # 4. Implementation (Frontend + Next.js skills)
259
+ /ui.implement dashboard
260
+
261
+ # 5. Testing (Playwright skill)
262
+ /ui.test dashboard
263
+
264
+ # 6. Storybook documentation (auto-generated)
265
+ npm run storybook
266
+ ```
267
+
268
+ **AI auto-coordinates** across all skills:
269
+ 1. **Design System Architect**: Defines tokens, components
270
+ 2. **Figma Designer**: Creates mockups
271
+ 3. **Frontend**: Implements React components
272
+ 4. **Next.js**: Integrates into App Router
273
+ 5. **Playwright**: Writes E2E tests
274
+ 6. **Storybook**: Documents components
275
+
276
+ ---
277
+
278
+ ## Configuration
279
+
280
+ ### Plugin Settings
281
+
282
+ **File**: `.claude/settings.json`
283
+
284
+ ```json
285
+ {
286
+ "plugins": {
287
+ "specweave-ui": {
288
+ "enabled": true,
289
+ "mcp": {
290
+ "browserbase": {
291
+ "enabled": false
292
+ }
293
+ },
294
+ "defaults": {
295
+ "frontend_framework": "react", // or "vue", "angular"
296
+ "test_framework": "playwright",
297
+ "design_tool": "figma"
298
+ }
299
+ }
300
+ }
301
+ }
302
+ ```
303
+
304
+ ---
305
+
306
+ ## FAQ
307
+
308
+ ### Q: Do I need all 7 skills?
309
+
310
+ **A**: No! Skills auto-activate based on your project.
311
+ - React project? Only `frontend` and `nextjs` activate
312
+ - Playwright tests? Only `e2e-playwright` activates
313
+ - Design work? Only `figma-*` and `design-system-architect` activate
314
+
315
+ ### Q: Can I disable specific skills?
316
+
317
+ **A**: Yes, via settings:
318
+ ```json
319
+ {
320
+ "plugins": {
321
+ "specweave-ui": {
322
+ "skills": {
323
+ "figma-designer": { "enabled": false }
324
+ }
325
+ }
326
+ }
327
+ }
328
+ ```
329
+
330
+ ### Q: Does this work without SpecWeave?
331
+
332
+ **A**: Yes! This is a **native Claude Code plugin**. Install it directly:
333
+ ```bash
334
+ /plugin install specweave-ui
335
+ ```
336
+
337
+ ### Q: How much context does this use?
338
+
339
+ **A**:
340
+ - **All skills loaded**: ~8K tokens
341
+ - **Typical usage** (2-3 skills active): ~3K tokens
342
+ - **vs. Monolithic** (loading all 44 skills): 50K tokens
343
+
344
+ **Result**: **84-94% context reduction** vs. old architecture.
345
+
346
+ ### Q: Can I contribute skills?
347
+
348
+ **A**: Yes! Submit a PR:
349
+ 1. Add skill to `src/plugins/specweave-ui/skills/`
350
+ 2. Update `plugin.json` provides list
351
+ 3. Add tests in `test-cases/`
352
+ 4. Update this README
353
+
354
+ ---
355
+
356
+ ## Community Extensions
357
+
358
+ ### Available Community Skills
359
+
360
+ - **specweave-ui-mobile** - React Native, Flutter, SwiftUI
361
+ - **specweave-ui-3d** - Three.js, WebGL, 3D visualization
362
+ - **specweave-ui-animation** - Framer Motion, GSAP, Lottie
363
+
364
+ **Install**:
365
+ ```bash
366
+ /plugin marketplace add specweave-community
367
+ /plugin install specweave-ui-mobile
368
+ ```
369
+
370
+ ---
371
+
372
+ ## Support
373
+
374
+ - **Documentation**: https://spec-weave.com/plugins/ui
375
+ - **Issues**: https://github.com/anton-abyzov/specweave/issues
376
+ - **Discussions**: https://github.com/anton-abyzov/specweave/discussions
377
+
378
+ ---
379
+
380
+ ## License
381
+
382
+ MIT © Anton Abyzov
383
+
384
+ ---
385
+
386
+ 🎨 **SpecWeave UI Plugin** - Complete UI/UX toolkit for AI-assisted development
@@ -13,6 +13,8 @@ import fs from 'fs-extra';
13
13
  import { AdapterBase } from '../adapter-base.js';
14
14
  import { AdapterOptions, AdapterFile } from '../adapter-interface.js';
15
15
  import type { Plugin } from '../../core/types/plugin.js';
16
+ import { LanguageManager, getSystemPromptForLanguage } from '../../core/i18n/language-manager.js';
17
+ import type { SupportedLanguage, I18nConfig } from '../../core/i18n/types.js';
16
18
 
17
19
  export class ClaudeAdapter extends AdapterBase {
18
20
  name = 'claude';
@@ -39,56 +41,50 @@ export class ClaudeAdapter extends AdapterBase {
39
41
  /**
40
42
  * Get files to install for Claude adapter
41
43
  *
42
- * Claude adapter installs:
43
- * - Skills to .claude/skills/ (auto-activating capabilities)
44
- * - Agents to .claude/agents/ (specialized roles)
45
- * - Commands to .claude/commands/ (slash commands)
46
- * - Hooks to .claude/hooks/ (auto-update mechanisms)
44
+ * Claude Code v0.5.0+ uses native plugin loading via marketplace.
45
+ * No file copying needed!
47
46
  */
48
47
  getFiles(): AdapterFile[] {
49
- return [
50
- {
51
- sourcePath: 'README.md',
52
- targetPath: '.claude/README.md',
53
- description: 'Claude adapter documentation'
54
- }
55
- // Note: Skills, agents, commands, hooks are installed via npm scripts
56
- // (install:skills, install:agents) - not copied here
57
- ];
48
+ return []; // No files to copy - native loading!
58
49
  }
59
50
 
60
51
  /**
61
52
  * Install Claude adapter
62
53
  *
63
- * Since SpecWeave was originally built for Claude Code, the "installation"
64
- * is actually just ensuring the existing .claude/ structure is correct.
65
- *
66
- * Skills, agents, commands, hooks are installed separately via:
67
- * - npm run install:skills
68
- * - npm run install:agents
54
+ * Claude Code v0.5.0+ uses native plugin system with marketplace.
55
+ * Installation steps:
56
+ * 1. Create .specweave/ structure (project data)
57
+ * 2. Show marketplace installation instructions
58
+ * 3. User adds marketplace: /plugin marketplace add anton-abyzov/specweave
59
+ * 4. User installs plugins: /plugin install specweave@specweave
69
60
  */
70
61
  async install(options: AdapterOptions): Promise<void> {
71
- console.log('\n📦 Installing Claude Code Adapter (Full Automation)\n');
72
-
73
- // Ensure .claude directory exists
74
- const claudeDir = path.join(options.projectPath, '.claude');
75
- await fs.ensureDir(claudeDir);
76
-
77
- // Create subdirectories
78
- await fs.ensureDir(path.join(claudeDir, 'skills'));
79
- await fs.ensureDir(path.join(claudeDir, 'agents'));
80
- await fs.ensureDir(path.join(claudeDir, 'commands'));
81
- await fs.ensureDir(path.join(claudeDir, 'hooks'));
82
-
83
- // Copy README
84
- await super.install(options);
85
-
86
- console.log('\n Claude adapter structure created!');
87
- console.log('\n📋 Next steps:');
88
- console.log(' 1. Install skills: npm run install:skills');
89
- console.log(' 2. Install agents: npm run install:agents');
90
- console.log(' 3. Skills will auto-activate when relevant');
91
- console.log(' 4. Use slash commands: /create-increment, /review-docs, etc.');
62
+ console.log('\n📦 Installing Claude Code Adapter (Native Plugin System)\n');
63
+
64
+ // Create .specweave/ structure (project data only)
65
+ const specweaveDir = path.join(options.projectPath, '.specweave');
66
+ await fs.ensureDir(specweaveDir);
67
+ await fs.ensureDir(path.join(specweaveDir, 'increments'));
68
+ await fs.ensureDir(path.join(specweaveDir, 'increments', '_backlog'));
69
+ await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'strategy'));
70
+ await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'architecture', 'adr'));
71
+ await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'architecture', 'rfc'));
72
+ await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'architecture', 'diagrams'));
73
+ await fs.ensureDir(path.join(specweaveDir, 'docs', 'internal', 'delivery'));
74
+ await fs.ensureDir(path.join(specweaveDir, 'docs', 'public', 'guides'));
75
+ await fs.ensureDir(path.join(specweaveDir, 'logs'));
76
+
77
+ console.log('\n Created .specweave/ structure');
78
+ console.log('\n📋 Next steps - Install SpecWeave plugins:');
79
+ console.log('\n 1️⃣ Add SpecWeave marketplace:');
80
+ console.log(' /plugin marketplace add anton-abyzov/specweave');
81
+ console.log('\n 2️⃣ Install SpecWeave core:');
82
+ console.log(' /plugin install specweave@specweave');
83
+ console.log('\n 3️⃣ (Optional) Install GitHub plugin:');
84
+ console.log(' /plugin install specweave-github@specweave');
85
+ console.log('\n 4️⃣ Start using SpecWeave:');
86
+ console.log(' /specweave.inc "create a todo app"');
87
+ console.log('\n💡 Tip: Plugins load natively - no file copying needed!');
92
88
  }
93
89
 
94
90
  /**
@@ -167,6 +163,130 @@ For complete documentation, see: .claude/README.md
167
163
  return true;
168
164
  }
169
165
 
166
+ /**
167
+ * Check if Claude Code native plugin system is available
168
+ *
169
+ * Detects if /plugin commands are supported in current Claude Code version
170
+ *
171
+ * @returns boolean True if native plugin commands available
172
+ */
173
+ async supportsNativePlugins(): Promise<boolean> {
174
+ // Check if .claude/plugins directory exists (indicates native plugin support)
175
+ const projectPath = process.cwd();
176
+ const nativePluginsDir = path.join(projectPath, '.claude', 'plugins');
177
+
178
+ if (await fs.pathExists(nativePluginsDir)) {
179
+ return true;
180
+ }
181
+
182
+ // Check if plugin.json format is present in any installed plugins
183
+ const claudeDir = path.join(projectPath, '.claude');
184
+ if (await fs.pathExists(claudeDir)) {
185
+ const entries = await fs.readdir(claudeDir, { withFileTypes: true });
186
+ for (const entry of entries) {
187
+ if (entry.isDirectory()) {
188
+ const pluginJsonPath = path.join(claudeDir, entry.name, '.claude-plugin', 'plugin.json');
189
+ if (await fs.pathExists(pluginJsonPath)) {
190
+ return true;
191
+ }
192
+ }
193
+ }
194
+ }
195
+
196
+ return false;
197
+ }
198
+
199
+ /**
200
+ * Get installation instructions based on available plugin system
201
+ *
202
+ * Returns instructions for either:
203
+ * - Native /plugin commands (if supported)
204
+ * - SpecWeave CLI fallback (always available)
205
+ *
206
+ * @param pluginName Name of plugin to install
207
+ * @returns Installation instructions
208
+ */
209
+ async getPluginInstallInstructions(pluginName: string): Promise<string> {
210
+ const hasNativePlugins = await this.supportsNativePlugins();
211
+
212
+ if (hasNativePlugins) {
213
+ return `
214
+ Installation Options:
215
+
216
+ Option 1 (Recommended): Native Claude Code
217
+ /plugin marketplace add specweave/marketplace
218
+ /plugin install ${pluginName}@specweave
219
+
220
+ Option 2: SpecWeave CLI
221
+ specweave plugin install ${pluginName}
222
+
223
+ Both methods install the same plugin - choose based on preference!
224
+ `.trim();
225
+ }
226
+
227
+ return `
228
+ Installation:
229
+ specweave plugin install ${pluginName}
230
+
231
+ Note: Native /plugin commands not detected in your Claude Code version.
232
+ Using SpecWeave CLI for plugin management.
233
+ `.trim();
234
+ }
235
+
236
+ /**
237
+ * Read language configuration from project config
238
+ *
239
+ * @returns Language setting from config, defaults to 'en'
240
+ */
241
+ private async getLanguageConfig(): Promise<SupportedLanguage> {
242
+ const projectPath = process.cwd();
243
+ const configPath = path.join(projectPath, '.specweave', 'config.json');
244
+
245
+ if (!(await fs.pathExists(configPath))) {
246
+ return 'en'; // Default to English if no config
247
+ }
248
+
249
+ try {
250
+ const config = await fs.readJson(configPath);
251
+ return (config.language as SupportedLanguage) || 'en';
252
+ } catch (error) {
253
+ console.warn('⚠️ Could not read language from config, defaulting to English');
254
+ return 'en';
255
+ }
256
+ }
257
+
258
+ /**
259
+ * Inject system prompt for non-English languages
260
+ *
261
+ * Prepends language instruction to markdown content if language !== 'en'
262
+ *
263
+ * @param content Original markdown content
264
+ * @param language Target language
265
+ * @returns Modified content with system prompt (or unchanged if English)
266
+ */
267
+ private injectSystemPrompt(content: string, language: SupportedLanguage): string {
268
+ if (language === 'en') {
269
+ return content; // No changes for English - preserve default behavior
270
+ }
271
+
272
+ // Get system prompt for target language
273
+ const systemPrompt = getSystemPromptForLanguage(language);
274
+
275
+ // Inject system prompt at the top (after YAML frontmatter if present)
276
+ if (content.startsWith('---')) {
277
+ // Has YAML frontmatter - inject after closing ---
278
+ const endOfFrontmatter = content.indexOf('---', 3);
279
+ if (endOfFrontmatter !== -1) {
280
+ const frontmatter = content.substring(0, endOfFrontmatter + 3);
281
+ const body = content.substring(endOfFrontmatter + 3);
282
+ return `${frontmatter}\n\n${systemPrompt}\n${body}`;
283
+ }
284
+ }
285
+
286
+ // No frontmatter - inject at the very top
287
+ return `${systemPrompt}\n\n${content}`;
288
+ }
289
+
170
290
  /**
171
291
  * Compile and install a plugin for Claude Code
172
292
  *
@@ -175,6 +295,12 @@ For complete documentation, see: .claude/README.md
175
295
  * - Copy agents to .claude/agents/{plugin-name}/{agent-name}/
176
296
  * - Copy commands to .claude/commands/
177
297
  *
298
+ * Supports both:
299
+ * - Native /plugin install (if Claude Code supports it)
300
+ * - SpecWeave CLI fallback (always available)
301
+ *
302
+ * NEW: Injects system prompts for non-English languages
303
+ *
178
304
  * @param plugin Plugin to install
179
305
  */
180
306
  async compilePlugin(plugin: Plugin): Promise<void> {
@@ -183,6 +309,21 @@ For complete documentation, see: .claude/README.md
183
309
 
184
310
  console.log(`\n📦 Installing plugin: ${plugin.manifest.name}`);
185
311
 
312
+ // Get language configuration for system prompt injection
313
+ const language = await this.getLanguageConfig();
314
+ if (language !== 'en') {
315
+ console.log(` 🌐 Language: ${language} (system prompts will be injected)`);
316
+ }
317
+
318
+ // Check for native plugin support
319
+ const hasNativePlugins = await this.supportsNativePlugins();
320
+ if (hasNativePlugins) {
321
+ console.log(' 💡 Tip: You can also use native /plugin commands:');
322
+ console.log(` /plugin marketplace add specweave/marketplace`);
323
+ console.log(` /plugin install ${plugin.manifest.name.replace('specweave-', '')}@specweave`);
324
+ console.log('');
325
+ }
326
+
186
327
  // Ensure base directories exist
187
328
  await fs.ensureDir(path.join(claudeDir, 'skills'));
188
329
  await fs.ensureDir(path.join(claudeDir, 'agents'));
@@ -193,10 +334,12 @@ For complete documentation, see: .claude/README.md
193
334
  const targetPath = path.join(claudeDir, 'skills', skill.name);
194
335
  await fs.ensureDir(targetPath);
195
336
 
196
- // Copy SKILL.md
337
+ // Copy SKILL.md (with language injection if needed)
197
338
  const skillMdPath = path.join(skill.path, 'SKILL.md');
198
339
  if (await fs.pathExists(skillMdPath)) {
199
- await fs.copy(skillMdPath, path.join(targetPath, 'SKILL.md'));
340
+ const content = await fs.readFile(skillMdPath, 'utf-8');
341
+ const modifiedContent = this.injectSystemPrompt(content, language);
342
+ await fs.writeFile(path.join(targetPath, 'SKILL.md'), modifiedContent, 'utf-8');
200
343
  }
201
344
 
202
345
  // Copy test cases if they exist
@@ -213,10 +356,12 @@ For complete documentation, see: .claude/README.md
213
356
  const targetPath = path.join(claudeDir, 'agents', agent.name);
214
357
  await fs.ensureDir(targetPath);
215
358
 
216
- // Copy AGENT.md
359
+ // Copy AGENT.md (with language injection if needed)
217
360
  const agentMdPath = path.join(agent.path, 'AGENT.md');
218
361
  if (await fs.pathExists(agentMdPath)) {
219
- await fs.copy(agentMdPath, path.join(targetPath, 'AGENT.md'));
362
+ const content = await fs.readFile(agentMdPath, 'utf-8');
363
+ const modifiedContent = this.injectSystemPrompt(content, language);
364
+ await fs.writeFile(path.join(targetPath, 'AGENT.md'), modifiedContent, 'utf-8');
220
365
  }
221
366
 
222
367
  console.log(` ✓ Agent: ${agent.name}`);
@@ -229,7 +374,9 @@ For complete documentation, see: .claude/README.md
229
374
  const targetPath = path.join(claudeDir, 'commands', fileName);
230
375
 
231
376
  if (await fs.pathExists(command.path)) {
232
- await fs.copy(command.path, targetPath);
377
+ const content = await fs.readFile(command.path, 'utf-8');
378
+ const modifiedContent = this.injectSystemPrompt(content, language);
379
+ await fs.writeFile(targetPath, modifiedContent, 'utf-8');
233
380
  }
234
381
 
235
382
  console.log(` ✓ Command: /${command.name}`);