specweave 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/.claude-plugin/README.md +325 -0
  2. package/.claude-plugin/marketplace.json +210 -0
  3. package/CLAUDE.md +871 -596
  4. package/README.md +188 -137
  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 +346 -124
  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 +7 -1
  39. package/dist/cli/commands/plugin.d.ts.map +1 -1
  40. package/dist/cli/commands/plugin.js +72 -61
  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 +269 -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/generate-skills-index.js +4 -4
  144. package/dist/utils/generate-skills-index.js.map +1 -1
  145. package/package.json +12 -13
  146. package/plugins/specweave-ado/.claude-plugin/plugin.json +8 -0
  147. package/plugins/specweave-alternatives/.claude-plugin/plugin.json +8 -0
  148. package/plugins/specweave-alternatives/skills/bmad-method-expert/SKILL.md +626 -0
  149. package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/analyze-project.js +318 -0
  150. package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/check-setup.js +208 -0
  151. package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/generate-template.js +1149 -0
  152. package/plugins/specweave-alternatives/skills/bmad-method-expert/scripts/validate-documents.js +340 -0
  153. package/plugins/specweave-alternatives/skills/spec-kit-expert/SKILL.md +1010 -0
  154. package/plugins/specweave-backend/.claude-plugin/plugin.json +8 -0
  155. package/plugins/specweave-core/.claude-plugin/plugin.json +25 -0
  156. package/{src → plugins/specweave-core}/agents/pm/AGENT.md +80 -0
  157. package/plugins/specweave-core/agents/translator/AGENT.md +282 -0
  158. package/{src → plugins/specweave-core}/commands/README.md +11 -11
  159. package/{src → plugins/specweave-core}/commands/specweave.costs.md +7 -7
  160. package/{src → plugins/specweave-core}/commands/specweave.do.md +34 -7
  161. package/{src → plugins/specweave-core}/commands/specweave.increment.md +83 -18
  162. package/{src → plugins/specweave-core}/commands/specweave.md +49 -17
  163. package/{src → plugins/specweave-core}/commands/specweave.sync-docs.md +5 -5
  164. package/plugins/specweave-core/commands/specweave.translate.md +425 -0
  165. package/{src → plugins/specweave-core}/commands/specweave.validate.md +1 -1
  166. package/plugins/specweave-core/hooks/hooks.json +13 -0
  167. package/plugins/specweave-core/hooks/post-task-completion.sh +265 -0
  168. package/plugins/specweave-core/skills/SKILLS-INDEX.md +229 -0
  169. package/{src → plugins/specweave-core}/skills/brownfield-analyzer/SKILL.md +66 -24
  170. package/{src → plugins/specweave-core}/skills/context-loader/SKILL.md +1 -1
  171. package/plugins/specweave-core/skills/context-optimizer/SKILL.md +588 -0
  172. package/plugins/specweave-core/skills/docs-updater/SKILL.md +0 -0
  173. package/{src → plugins/specweave-core}/skills/increment-planner/SKILL.md +81 -4
  174. package/plugins/specweave-core/skills/plugin-detector/SKILL.md +211 -0
  175. package/{src → plugins/specweave-core}/skills/project-kickstarter/SKILL.md +7 -7
  176. package/plugins/specweave-core/skills/rfc-generator/SKILL.md +369 -0
  177. package/{src → plugins/specweave-core}/skills/specweave-detector/SKILL.md +2 -2
  178. package/plugins/specweave-core/skills/specweave-framework/SKILL.md +498 -0
  179. package/plugins/specweave-core/skills/specweave-framework/test-cases/test-1-increment-naming.yaml +11 -0
  180. package/plugins/specweave-core/skills/specweave-framework/test-cases/test-2-source-of-truth.yaml +11 -0
  181. package/plugins/specweave-core/skills/specweave-framework/test-cases/test-3-increment-discipline.yaml +12 -0
  182. package/plugins/specweave-core/skills/specweave-framework/test-cases/test-4-file-placement.yaml +11 -0
  183. package/{src → plugins/specweave-core}/skills/tdd-workflow/SKILL.md +20 -20
  184. package/plugins/specweave-core/skills/translator/SKILL.md +172 -0
  185. package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +8 -0
  186. package/plugins/specweave-diagrams/.claude-plugin/plugin.json +8 -0
  187. package/plugins/specweave-docs/.claude-plugin/plugin.json +8 -0
  188. package/plugins/specweave-docs/skills/docusaurus/SKILL.md +526 -0
  189. package/plugins/specweave-figma/.claude-plugin/.mcp.json +12 -0
  190. package/plugins/specweave-figma/.claude-plugin/plugin.json +8 -0
  191. package/plugins/specweave-figma/ARCHITECTURE.md +453 -0
  192. package/plugins/specweave-figma/README.md +728 -0
  193. package/plugins/specweave-figma/skills/figma-to-code/SKILL.md +632 -0
  194. package/plugins/specweave-figma/skills/figma-to-code/test-1-token-generation.yaml +29 -0
  195. package/plugins/specweave-figma/skills/figma-to-code/test-2-component-generation.yaml +27 -0
  196. package/plugins/specweave-figma/skills/figma-to-code/test-3-typescript-generation.yaml +28 -0
  197. package/plugins/specweave-frontend/.claude-plugin/plugin.json +8 -0
  198. package/plugins/specweave-github/.claude-plugin/plugin.json +8 -0
  199. package/plugins/specweave-github/agents/github-manager/AGENT.md +651 -0
  200. package/plugins/specweave-github/commands/github-close-issue.md +418 -0
  201. package/plugins/specweave-github/commands/github-create-issue.md +307 -0
  202. package/plugins/specweave-github/commands/github-status.md +533 -0
  203. package/plugins/specweave-github/commands/github-sync-tasks.md +530 -0
  204. package/plugins/specweave-github/commands/github-sync.md +443 -0
  205. package/plugins/specweave-github/lib/github-client.ts +330 -0
  206. package/plugins/specweave-github/lib/index.ts +10 -0
  207. package/plugins/specweave-github/lib/subtask-sync.ts +225 -0
  208. package/plugins/specweave-github/lib/task-parser.ts +246 -0
  209. package/plugins/specweave-github/lib/task-sync.ts +402 -0
  210. package/plugins/specweave-github/lib/types.ts +86 -0
  211. package/plugins/specweave-github/skills/github-issue-tracker/SKILL.md +497 -0
  212. package/plugins/specweave-github/skills/github-sync/SKILL.md +461 -0
  213. package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +8 -0
  214. package/plugins/specweave-jira/.claude-plugin/plugin.json +8 -0
  215. package/{src → plugins/specweave-jira}/commands/specweave.sync-jira.md +18 -18
  216. package/plugins/specweave-kubernetes/.claude-plugin/plugin.json +8 -0
  217. package/plugins/specweave-ml/.claude-plugin/plugin.json +39 -0
  218. package/plugins/specweave-ml/README.md +885 -0
  219. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +402 -0
  220. package/plugins/specweave-ml/commands/ml-deploy.md +116 -0
  221. package/plugins/specweave-ml/commands/ml-evaluate.md +87 -0
  222. package/plugins/specweave-ml/commands/ml-explain.md +83 -0
  223. package/plugins/specweave-ml/skills/anomaly-detector/SKILL.md +559 -0
  224. package/plugins/specweave-ml/skills/automl-optimizer/SKILL.md +485 -0
  225. package/plugins/specweave-ml/skills/cv-pipeline-builder/SKILL.md +157 -0
  226. package/plugins/specweave-ml/skills/data-visualizer/SKILL.md +521 -0
  227. package/plugins/specweave-ml/skills/experiment-tracker/SKILL.md +535 -0
  228. package/plugins/specweave-ml/skills/feature-engineer/SKILL.md +566 -0
  229. package/plugins/specweave-ml/skills/ml-deployment-helper/SKILL.md +345 -0
  230. package/plugins/specweave-ml/skills/ml-pipeline-orchestrator/SKILL.md +518 -0
  231. package/plugins/specweave-ml/skills/model-evaluator/SKILL.md +155 -0
  232. package/plugins/specweave-ml/skills/model-explainer/SKILL.md +227 -0
  233. package/plugins/specweave-ml/skills/model-registry/SKILL.md +541 -0
  234. package/plugins/specweave-ml/skills/nlp-pipeline-builder/SKILL.md +180 -0
  235. package/plugins/specweave-ml/skills/time-series-forecaster/SKILL.md +569 -0
  236. package/plugins/specweave-payments/.claude-plugin/plugin.json +8 -0
  237. package/plugins/specweave-testing/.claude-plugin/plugin.json +8 -0
  238. package/plugins/specweave-tooling/.claude-plugin/plugin.json +8 -0
  239. package/plugins/specweave-ui/.claude-plugin/plugin.json +106 -0
  240. package/plugins/specweave-ui/.mcp.json +14 -0
  241. package/plugins/specweave-ui/README.md +386 -0
  242. package/src/adapters/claude/adapter.ts +193 -46
  243. package/src/adapters/copilot/adapter.ts +132 -7
  244. package/src/adapters/cursor/adapter.ts +62 -3
  245. package/src/adapters/generic/adapter.ts +62 -3
  246. package/src/templates/AGENTS.md.template +170 -1
  247. package/src/templates/CLAUDE.md.template +122 -24
  248. package/src/templates/tasks.md.template +261 -0
  249. package/src/agents/ml-engineer/AGENT.md +0 -150
  250. package/src/commands/specweave.sync-github.md +0 -269
  251. package/src/hooks/post-task-completion.sh +0 -121
  252. package/src/skills/SKILLS-INDEX.md +0 -444
  253. package/src/skills/github-sync/SKILL.md +0 -234
  254. /package/{src → plugins/specweave-ado}/skills/ado-sync/README.md +0 -0
  255. /package/{src → plugins/specweave-ado}/skills/ado-sync/SKILL.md +0 -0
  256. /package/{src → plugins/specweave-ado}/skills/specweave-ado-mapper/SKILL.md +0 -0
  257. /package/{src → plugins/specweave-backend}/agents/database-optimizer/AGENT.md +0 -0
  258. /package/{src → plugins/specweave-backend}/skills/dotnet-backend/SKILL.md +0 -0
  259. /package/{src → plugins/specweave-backend}/skills/nodejs-backend/SKILL.md +0 -0
  260. /package/{src → plugins/specweave-backend}/skills/python-backend/SKILL.md +0 -0
  261. /package/{src → plugins/specweave-core}/agents/architect/AGENT.md +0 -0
  262. /package/{src → plugins/specweave-core}/agents/code-reviewer.md +0 -0
  263. /package/{src → plugins/specweave-core}/agents/docs-writer/AGENT.md +0 -0
  264. /package/{src → plugins/specweave-core}/agents/performance/AGENT.md +0 -0
  265. /package/{src → plugins/specweave-core}/agents/qa-lead/AGENT.md +0 -0
  266. /package/{src → plugins/specweave-core}/agents/security/AGENT.md +0 -0
  267. /package/{src → plugins/specweave-core}/agents/tdd-orchestrator/AGENT.md +0 -0
  268. /package/{src → plugins/specweave-core}/agents/tech-lead/AGENT.md +0 -0
  269. /package/{src → plugins/specweave-core}/commands/specweave.done.md +0 -0
  270. /package/{src → plugins/specweave-core}/commands/specweave.inc.md +0 -0
  271. /package/{src → plugins/specweave-core}/commands/specweave.list-increments.md +0 -0
  272. /package/{src → plugins/specweave-core}/commands/specweave.next.md +0 -0
  273. /package/{src → plugins/specweave-core}/commands/specweave.progress.md +0 -0
  274. /package/{src → plugins/specweave-core}/commands/specweave.tdd-cycle.md +0 -0
  275. /package/{src → plugins/specweave-core}/commands/specweave.tdd-green.md +0 -0
  276. /package/{src → plugins/specweave-core}/commands/specweave.tdd-red.md +0 -0
  277. /package/{src → plugins/specweave-core}/commands/specweave.tdd-refactor.md +0 -0
  278. /package/{src → plugins/specweave-core}/hooks/README.md +0 -0
  279. /package/{src → plugins/specweave-core}/hooks/docs-changed.sh +0 -0
  280. /package/{src → plugins/specweave-core}/hooks/human-input-required.sh +0 -0
  281. /package/{src → plugins/specweave-core}/hooks/post-increment-plugin-detect.sh +0 -0
  282. /package/{src → plugins/specweave-core}/hooks/pre-implementation.sh +0 -0
  283. /package/{src → plugins/specweave-core}/hooks/pre-task-plugin-detect.sh +0 -0
  284. /package/{src → plugins/specweave-core}/skills/brownfield-onboarder/SKILL.md +0 -0
  285. /package/{src → plugins/specweave-core}/skills/docs-updater/README.md +0 -0
  286. /package/{src → plugins/specweave-core}/skills/increment-planner/scripts/feature-utils.js +0 -0
  287. /package/{src → plugins/specweave-core}/skills/increment-quality-judge/SKILL.md +0 -0
  288. /package/{src → plugins/specweave-core}/skills/project-kickstarter/test-cases/test-1-high-confidence-full-product.yaml +0 -0
  289. /package/{src → plugins/specweave-core}/skills/project-kickstarter/test-cases/test-2-medium-confidence-partial.yaml +0 -0
  290. /package/{src → plugins/specweave-core}/skills/project-kickstarter/test-cases/test-3-low-confidence-technical-question.yaml +0 -0
  291. /package/{src → plugins/specweave-core}/skills/project-kickstarter/test-cases/test-4-opt-out-explicit.yaml +0 -0
  292. /package/{src → plugins/specweave-core}/skills/role-orchestrator/README.md +0 -0
  293. /package/{src → plugins/specweave-core}/skills/role-orchestrator/SKILL.md +0 -0
  294. /package/{src → plugins/specweave-core}/skills/task-builder/README.md +0 -0
  295. /package/{src → plugins/specweave-cost-optimizer}/skills/cost-optimizer/SKILL.md +0 -0
  296. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/AGENT.md +0 -0
  297. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/c4-component-template.mmd +0 -0
  298. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/c4-container-template.mmd +0 -0
  299. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/c4-context-template.mmd +0 -0
  300. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/deployment-template.mmd +0 -0
  301. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/er-diagram-template.mmd +0 -0
  302. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/templates/sequence-template.mmd +0 -0
  303. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -0
  304. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/test-cases/test-2-sequence.yaml +0 -0
  305. /package/{src → plugins/specweave-diagrams}/agents/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -0
  306. /package/{src → plugins/specweave-diagrams}/skills/diagrams-architect/SKILL.md +0 -0
  307. /package/{src → plugins/specweave-diagrams}/skills/diagrams-generator/SKILL.md +0 -0
  308. /package/{src → plugins/specweave-docs}/skills/spec-driven-brainstorming/README.md +0 -0
  309. /package/{src → plugins/specweave-docs}/skills/spec-driven-brainstorming/SKILL.md +0 -0
  310. /package/{src → plugins/specweave-docs}/skills/spec-driven-debugging/README.md +0 -0
  311. /package/{src → plugins/specweave-docs}/skills/spec-driven-debugging/SKILL.md +0 -0
  312. /package/{src → plugins/specweave-frontend}/skills/design-system-architect/SKILL.md +0 -0
  313. /package/{src → plugins/specweave-frontend}/skills/frontend/SKILL.md +0 -0
  314. /package/{src → plugins/specweave-frontend}/skills/nextjs/SKILL.md +0 -0
  315. /package/{src → plugins/specweave-infrastructure}/agents/devops/AGENT.md +0 -0
  316. /package/{src → plugins/specweave-infrastructure}/agents/network-engineer/AGENT.md +0 -0
  317. /package/{src → plugins/specweave-infrastructure}/agents/observability-engineer/AGENT.md +0 -0
  318. /package/{src → plugins/specweave-infrastructure}/agents/performance-engineer/AGENT.md +0 -0
  319. /package/{src → plugins/specweave-infrastructure}/agents/sre/AGENT.md +0 -0
  320. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/backend-diagnostics.md +0 -0
  321. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/database-diagnostics.md +0 -0
  322. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/infrastructure.md +0 -0
  323. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/monitoring.md +0 -0
  324. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/security-incidents.md +0 -0
  325. /package/{src → plugins/specweave-infrastructure}/agents/sre/modules/ui-diagnostics.md +0 -0
  326. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/01-high-cpu-usage.md +0 -0
  327. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/02-database-deadlock.md +0 -0
  328. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/03-memory-leak.md +0 -0
  329. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/04-slow-api-response.md +0 -0
  330. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/05-ddos-attack.md +0 -0
  331. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/06-disk-full.md +0 -0
  332. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/07-service-down.md +0 -0
  333. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/08-data-corruption.md +0 -0
  334. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/09-cascade-failure.md +0 -0
  335. /package/{src → plugins/specweave-infrastructure}/agents/sre/playbooks/10-rate-limit-exceeded.md +0 -0
  336. /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/health-check.sh +0 -0
  337. /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/log-analyzer.py +0 -0
  338. /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/metrics-collector.sh +0 -0
  339. /package/{src → plugins/specweave-infrastructure}/agents/sre/scripts/trace-analyzer.js +0 -0
  340. /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/incident-report.md +0 -0
  341. /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/mitigation-plan.md +0 -0
  342. /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/post-mortem.md +0 -0
  343. /package/{src → plugins/specweave-infrastructure}/agents/sre/templates/runbook-template.md +0 -0
  344. /package/{src → plugins/specweave-infrastructure}/commands/specweave.monitor-setup.md +0 -0
  345. /package/{src → plugins/specweave-infrastructure}/commands/specweave.slo-implement.md +0 -0
  346. /package/{src → plugins/specweave-infrastructure}/skills/distributed-tracing/SKILL.md +0 -0
  347. /package/{src → plugins/specweave-infrastructure}/skills/grafana-dashboards/SKILL.md +0 -0
  348. /package/{src → plugins/specweave-infrastructure}/skills/hetzner-provisioner/README.md +0 -0
  349. /package/{src → plugins/specweave-infrastructure}/skills/hetzner-provisioner/SKILL.md +0 -0
  350. /package/{src → plugins/specweave-infrastructure}/skills/prometheus-configuration/SKILL.md +0 -0
  351. /package/{src → plugins/specweave-infrastructure}/skills/slo-implementation/SKILL.md +0 -0
  352. /package/{src → plugins/specweave-jira}/skills/jira-sync/README.md +0 -0
  353. /package/{src → plugins/specweave-jira}/skills/jira-sync/SKILL.md +0 -0
  354. /package/{src → plugins/specweave-jira}/skills/specweave-jira-mapper/SKILL.md +0 -0
  355. /package/{src → plugins/specweave-kubernetes}/agents/kubernetes-architect/AGENT.md +0 -0
  356. /package/{src → plugins/specweave-kubernetes}/skills/gitops-workflow/SKILL.md +0 -0
  357. /package/{src → plugins/specweave-kubernetes}/skills/gitops-workflow/references/argocd-setup.md +0 -0
  358. /package/{src → plugins/specweave-kubernetes}/skills/gitops-workflow/references/sync-policies.md +0 -0
  359. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/SKILL.md +0 -0
  360. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/assets/Chart.yaml.template +0 -0
  361. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/assets/values.yaml.template +0 -0
  362. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/references/chart-structure.md +0 -0
  363. /package/{src → plugins/specweave-kubernetes}/skills/helm-chart-scaffolding/scripts/validate-chart.sh +0 -0
  364. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/SKILL.md +0 -0
  365. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/assets/configmap-template.yaml +0 -0
  366. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/assets/deployment-template.yaml +0 -0
  367. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/assets/service-template.yaml +0 -0
  368. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/references/deployment-spec.md +0 -0
  369. /package/{src → plugins/specweave-kubernetes}/skills/k8s-manifest-generator/references/service-spec.md +0 -0
  370. /package/{src → plugins/specweave-kubernetes}/skills/k8s-security-policies/SKILL.md +0 -0
  371. /package/{src → plugins/specweave-kubernetes}/skills/k8s-security-policies/assets/network-policy-template.yaml +0 -0
  372. /package/{src → plugins/specweave-kubernetes}/skills/k8s-security-policies/references/rbac-patterns.md +0 -0
  373. /package/{src → plugins/specweave-ml}/agents/data-scientist/AGENT.md +0 -0
  374. /package/{src → plugins/specweave-ml}/agents/mlops-engineer/AGENT.md +0 -0
  375. /package/{src → plugins/specweave-ml}/commands/specweave.ml-pipeline.md +0 -0
  376. /package/{src → plugins/specweave-ml}/skills/ml-pipeline-workflow/SKILL.md +0 -0
  377. /package/{src → plugins/specweave-payments}/agents/payment-integration/AGENT.md +0 -0
  378. /package/{src → plugins/specweave-payments}/skills/billing-automation/SKILL.md +0 -0
  379. /package/{src → plugins/specweave-payments}/skills/paypal-integration/SKILL.md +0 -0
  380. /package/{src → plugins/specweave-payments}/skills/pci-compliance/SKILL.md +0 -0
  381. /package/{src → plugins/specweave-payments}/skills/stripe-integration/SKILL.md +0 -0
  382. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/README.md +0 -0
  383. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/SKILL.md +0 -0
  384. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/execute.js +0 -0
  385. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/lib/utils.js +0 -0
  386. /package/{src → plugins/specweave-testing}/skills/e2e-playwright/package.json +0 -0
  387. /package/{src → plugins/specweave-tooling}/skills/skill-creator/LICENSE.txt +0 -0
  388. /package/{src → plugins/specweave-tooling}/skills/skill-creator/SKILL.md +0 -0
  389. /package/{src → plugins/specweave-tooling}/skills/skill-creator/scripts/init_skill.py +0 -0
  390. /package/{src → plugins/specweave-tooling}/skills/skill-creator/scripts/package_skill.py +0 -0
  391. /package/{src → plugins/specweave-tooling}/skills/skill-creator/scripts/quick_validate.py +0 -0
  392. /package/{src → plugins/specweave-tooling}/skills/skill-router/SKILL.md +0 -0
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Locale String Manager
3
+ *
4
+ * Manages locale-specific strings for CLI messages and prompts.
5
+ *
6
+ * @module core/i18n
7
+ */
8
+ import { SupportedLanguage, LocaleStrings } from './types.js';
9
+ /**
10
+ * Locale Manager for CLI strings
11
+ */
12
+ export declare class LocaleManager {
13
+ private currentLanguage;
14
+ private localeStrings;
15
+ constructor(language?: SupportedLanguage);
16
+ /**
17
+ * Load locale strings from JSON file
18
+ */
19
+ private loadLocaleStrings;
20
+ /**
21
+ * Get current language
22
+ */
23
+ getCurrentLanguage(): SupportedLanguage;
24
+ /**
25
+ * Set current language
26
+ */
27
+ setLanguage(language: SupportedLanguage): void;
28
+ /**
29
+ * Get CLI string
30
+ */
31
+ getCLI(key: keyof LocaleStrings['cli']): string;
32
+ /**
33
+ * Get increment string
34
+ */
35
+ getIncrement(key: keyof LocaleStrings['increment']): string;
36
+ /**
37
+ * Get validation string
38
+ */
39
+ getValidation(key: keyof LocaleStrings['validation']): string;
40
+ /**
41
+ * Get gate string
42
+ */
43
+ getGate(key: keyof LocaleStrings['gates']): string;
44
+ /**
45
+ * Get translated string with interpolation
46
+ * Supports nested keys like 'init.welcome' or 'init.errors.cancelled'
47
+ *
48
+ * @param category - For compatibility, but ignored (JSON has flat structure)
49
+ * @param key - Nested key path (e.g., 'init.welcome')
50
+ * @param params - Optional parameters for interpolation
51
+ */
52
+ t(category: keyof LocaleStrings, key: string, params?: Record<string, string | number>): string;
53
+ }
54
+ /**
55
+ * Get singleton instance
56
+ */
57
+ export declare function getLocaleManager(language?: SupportedLanguage): LocaleManager;
58
+ /**
59
+ * Reset singleton (for testing)
60
+ */
61
+ export declare function resetLocaleManager(): void;
62
+ //# sourceMappingURL=locale-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-manager.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/locale-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK9D;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,aAAa,CAAM;gBAEf,QAAQ,GAAE,iBAAwB;IAK9C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,kBAAkB,IAAI,iBAAiB;IAIvC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAK9C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM;IAI/C;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,aAAa,CAAC,WAAW,CAAC,GAAG,MAAM;IAI3D;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,aAAa,CAAC,YAAY,CAAC,GAAG,MAAM;IAI7D;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM;IAIlD;;;;;;;OAOG;IACH,CAAC,CAAC,QAAQ,EAAE,MAAM,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM;CA4BhG;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAK5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Locale String Manager
3
+ *
4
+ * Manages locale-specific strings for CLI messages and prompts.
5
+ *
6
+ * @module core/i18n
7
+ */
8
+ import fs from 'fs-extra';
9
+ import path from 'path';
10
+ import { fileURLToPath } from 'url';
11
+ const __filename = fileURLToPath(import.meta.url);
12
+ const __dirname = path.dirname(__filename);
13
+ /**
14
+ * Locale Manager for CLI strings
15
+ */
16
+ export class LocaleManager {
17
+ constructor(language = 'en') {
18
+ this.currentLanguage = language;
19
+ this.localeStrings = this.loadLocaleStrings(language);
20
+ }
21
+ /**
22
+ * Load locale strings from JSON file
23
+ */
24
+ loadLocaleStrings(language) {
25
+ try {
26
+ // Try to load from src/locales first (development)
27
+ const srcPath = path.join(__dirname, `../../locales/${language}/cli.json`);
28
+ if (fs.existsSync(srcPath)) {
29
+ return fs.readJSONSync(srcPath);
30
+ }
31
+ // Fallback to dist/locales (production)
32
+ const distPath = path.join(__dirname, `../locales/${language}/cli.json`);
33
+ if (fs.existsSync(distPath)) {
34
+ return fs.readJSONSync(distPath);
35
+ }
36
+ // Fallback to English if language file not found
37
+ const enPath = path.join(__dirname, `../../locales/en/cli.json`);
38
+ if (fs.existsSync(enPath)) {
39
+ return fs.readJSONSync(enPath);
40
+ }
41
+ // Last resort: return empty object
42
+ return {};
43
+ }
44
+ catch (error) {
45
+ console.warn(`Failed to load locale strings for ${language}, using English fallback`);
46
+ return {};
47
+ }
48
+ }
49
+ /**
50
+ * Get current language
51
+ */
52
+ getCurrentLanguage() {
53
+ return this.currentLanguage;
54
+ }
55
+ /**
56
+ * Set current language
57
+ */
58
+ setLanguage(language) {
59
+ this.currentLanguage = language;
60
+ this.localeStrings = this.loadLocaleStrings(language);
61
+ }
62
+ /**
63
+ * Get CLI string
64
+ */
65
+ getCLI(key) {
66
+ return this.localeStrings.cli[key];
67
+ }
68
+ /**
69
+ * Get increment string
70
+ */
71
+ getIncrement(key) {
72
+ return this.localeStrings.increment[key];
73
+ }
74
+ /**
75
+ * Get validation string
76
+ */
77
+ getValidation(key) {
78
+ return this.localeStrings.validation[key];
79
+ }
80
+ /**
81
+ * Get gate string
82
+ */
83
+ getGate(key) {
84
+ return this.localeStrings.gates[key];
85
+ }
86
+ /**
87
+ * Get translated string with interpolation
88
+ * Supports nested keys like 'init.welcome' or 'init.errors.cancelled'
89
+ *
90
+ * @param category - For compatibility, but ignored (JSON has flat structure)
91
+ * @param key - Nested key path (e.g., 'init.welcome')
92
+ * @param params - Optional parameters for interpolation
93
+ */
94
+ t(category, key, params) {
95
+ // Navigate nested object path from root (ignore category parameter)
96
+ const keys = key.split('.');
97
+ let text = this.localeStrings;
98
+ for (const k of keys) {
99
+ if (text && typeof text === 'object') {
100
+ text = text[k];
101
+ }
102
+ else {
103
+ return key; // Return key as fallback if path not found
104
+ }
105
+ }
106
+ if (typeof text !== 'string') {
107
+ return key; // Return key as fallback if not a string
108
+ }
109
+ // Support both {param} and {{param}} interpolation
110
+ if (params) {
111
+ Object.keys(params).forEach((param) => {
112
+ const value = String(params[param]);
113
+ text = text.replace(new RegExp(`\\{\\{${param}\\}\\}`, 'g'), value);
114
+ text = text.replace(new RegExp(`\\{${param}\\}`, 'g'), value);
115
+ });
116
+ }
117
+ return text;
118
+ }
119
+ }
120
+ // Singleton instance
121
+ let instance = null;
122
+ /**
123
+ * Get singleton instance
124
+ */
125
+ export function getLocaleManager(language) {
126
+ if (!instance) {
127
+ instance = new LocaleManager(language);
128
+ }
129
+ return instance;
130
+ }
131
+ /**
132
+ * Reset singleton (for testing)
133
+ */
134
+ export function resetLocaleManager() {
135
+ instance = null;
136
+ }
137
+ //# sourceMappingURL=locale-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale-manager.js","sourceRoot":"","sources":["../../../src/core/i18n/locale-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * System Prompt Injector
3
+ *
4
+ * Injects language-specific system prompts into skills, agents, and commands.
5
+ * This enables LLM-native multilingual support without translation costs.
6
+ *
7
+ * @module core/i18n
8
+ */
9
+ import { SupportedLanguage, SystemPromptTemplate } from './types.js';
10
+ /**
11
+ * Inject system prompt into markdown file
12
+ */
13
+ export declare function injectSystemPrompt(filePath: string, targetLanguage: SupportedLanguage, options?: {
14
+ placement?: 'top' | 'after-frontmatter' | 'bottom';
15
+ overwrite?: boolean;
16
+ }): Promise<void>;
17
+ /**
18
+ * Remove system prompt from file
19
+ */
20
+ export declare function removeSystemPrompt(filePath: string): Promise<void>;
21
+ /**
22
+ * Batch inject prompts into directory
23
+ */
24
+ export declare function injectPromptsIntoDirectory(dirPath: string, targetLanguage: SupportedLanguage, options?: {
25
+ filePattern?: RegExp;
26
+ recursive?: boolean;
27
+ overwrite?: boolean;
28
+ }): Promise<number>;
29
+ /**
30
+ * Create system prompt template
31
+ */
32
+ export declare function createSystemPromptTemplate(language: SupportedLanguage, placement?: 'top' | 'after-frontmatter' | 'bottom'): SystemPromptTemplate;
33
+ //# sourceMappingURL=system-prompt-injector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt-injector.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/system-prompt-injector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGrE;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,iBAAiB,EACjC,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,KAAK,GAAG,mBAAmB,GAAG,QAAQ,CAAC;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC,IAAI,CAAC,CAkCf;AAmCD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxE;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,iBAAiB,EACjC,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAuBD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,GAAE,KAAK,GAAG,mBAAmB,GAAG,QAA8B,GACtE,oBAAoB,CAMtB"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * System Prompt Injector
3
+ *
4
+ * Injects language-specific system prompts into skills, agents, and commands.
5
+ * This enables LLM-native multilingual support without translation costs.
6
+ *
7
+ * @module core/i18n
8
+ */
9
+ import fs from 'fs-extra';
10
+ import path from 'path';
11
+ import { getSystemPrompt } from './language-registry.js';
12
+ /**
13
+ * Inject system prompt into markdown file
14
+ */
15
+ export async function injectSystemPrompt(filePath, targetLanguage, options) {
16
+ const { placement = 'after-frontmatter', overwrite = false } = options || {};
17
+ // Read file content
18
+ const content = await fs.readFile(filePath, 'utf-8');
19
+ // Get system prompt for target language
20
+ const systemPrompt = getSystemPrompt(targetLanguage);
21
+ // If English or no prompt needed, skip
22
+ if (!systemPrompt) {
23
+ return;
24
+ }
25
+ // Check if prompt already exists
26
+ if (content.includes('**LANGUAGE INSTRUCTION**') && !overwrite) {
27
+ console.log(`⏭️ Prompt already exists in ${filePath}, skipping...`);
28
+ return;
29
+ }
30
+ // Inject prompt based on placement
31
+ let newContent;
32
+ if (placement === 'top') {
33
+ newContent = `${systemPrompt}\n\n---\n\n${content}`;
34
+ }
35
+ else if (placement === 'after-frontmatter') {
36
+ newContent = injectAfterFrontmatter(content, systemPrompt);
37
+ }
38
+ else {
39
+ newContent = `${content}\n\n---\n\n${systemPrompt}`;
40
+ }
41
+ // Write back to file
42
+ await fs.writeFile(filePath, newContent, 'utf-8');
43
+ console.log(`✅ Injected ${targetLanguage} prompt into ${filePath}`);
44
+ }
45
+ /**
46
+ * Inject system prompt after YAML frontmatter
47
+ */
48
+ function injectAfterFrontmatter(content, systemPrompt) {
49
+ // Check if file has frontmatter (starts with ---)
50
+ if (!content.startsWith('---')) {
51
+ // No frontmatter, inject at top
52
+ return `${systemPrompt}\n\n---\n\n${content}`;
53
+ }
54
+ // Find end of frontmatter (second ---)
55
+ const lines = content.split('\n');
56
+ let frontmatterEnd = -1;
57
+ for (let i = 1; i < lines.length; i++) {
58
+ if (lines[i].trim() === '---') {
59
+ frontmatterEnd = i;
60
+ break;
61
+ }
62
+ }
63
+ if (frontmatterEnd === -1) {
64
+ // Malformed frontmatter, inject at top
65
+ return `${systemPrompt}\n\n---\n\n${content}`;
66
+ }
67
+ // Inject after frontmatter
68
+ const beforeFrontmatter = lines.slice(0, frontmatterEnd + 1).join('\n');
69
+ const afterFrontmatter = lines.slice(frontmatterEnd + 1).join('\n');
70
+ return `${beforeFrontmatter}\n\n${systemPrompt}\n\n${afterFrontmatter}`;
71
+ }
72
+ /**
73
+ * Remove system prompt from file
74
+ */
75
+ export async function removeSystemPrompt(filePath) {
76
+ const content = await fs.readFile(filePath, 'utf-8');
77
+ // Remove LANGUAGE INSTRUCTION block
78
+ const cleanedContent = content.replace(/\*\*LANGUAGE INSTRUCTION\*\*:.*?\n\n/gs, '');
79
+ await fs.writeFile(filePath, cleanedContent, 'utf-8');
80
+ console.log(`✅ Removed system prompt from ${filePath}`);
81
+ }
82
+ /**
83
+ * Batch inject prompts into directory
84
+ */
85
+ export async function injectPromptsIntoDirectory(dirPath, targetLanguage, options) {
86
+ const { filePattern = /\.md$/, recursive = true, overwrite = false } = options || {};
87
+ let injectedCount = 0;
88
+ const files = await getMarkdownFiles(dirPath, recursive);
89
+ for (const file of files) {
90
+ if (filePattern.test(file)) {
91
+ try {
92
+ await injectSystemPrompt(file, targetLanguage, { overwrite });
93
+ injectedCount++;
94
+ }
95
+ catch (error) {
96
+ console.error(`❌ Failed to inject prompt into ${file}:`, error);
97
+ }
98
+ }
99
+ }
100
+ console.log(`\n✅ Injected prompts into ${injectedCount} files`);
101
+ return injectedCount;
102
+ }
103
+ /**
104
+ * Get all markdown files in directory
105
+ */
106
+ async function getMarkdownFiles(dirPath, recursive) {
107
+ const files = [];
108
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
109
+ for (const entry of entries) {
110
+ const fullPath = path.join(dirPath, entry.name);
111
+ if (entry.isDirectory() && recursive) {
112
+ const subFiles = await getMarkdownFiles(fullPath, recursive);
113
+ files.push(...subFiles);
114
+ }
115
+ else if (entry.isFile() && entry.name.endsWith('.md')) {
116
+ files.push(fullPath);
117
+ }
118
+ }
119
+ return files;
120
+ }
121
+ /**
122
+ * Create system prompt template
123
+ */
124
+ export function createSystemPromptTemplate(language, placement = 'after-frontmatter') {
125
+ return {
126
+ language,
127
+ prompt: getSystemPrompt(language),
128
+ placement,
129
+ };
130
+ }
131
+ //# sourceMappingURL=system-prompt-injector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt-injector.js","sourceRoot":"","sources":["../../../src/core/i18n/system-prompt-injector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * SpecWeave i18n Type Definitions
3
+ *
4
+ * LLM-native multilingual support using system prompt injection
5
+ * instead of traditional translation.
6
+ *
7
+ * @module core/i18n
8
+ * @version 0.6.0
9
+ */
10
+ /**
11
+ * Supported languages for SpecWeave
12
+ */
13
+ export type SupportedLanguage = 'en' | 'ru' | 'es' | 'zh' | 'de' | 'fr' | 'ja' | 'ko' | 'pt';
14
+ /**
15
+ * Translation options for different content types
16
+ */
17
+ export interface TranslateOptions {
18
+ targetLanguage: SupportedLanguage;
19
+ contextType?: 'cli' | 'template' | 'docs' | 'living-docs' | 'code-comments';
20
+ preserveMarkdown?: boolean;
21
+ preserveCodeBlocks?: boolean;
22
+ keepFrameworkTerms?: boolean;
23
+ keepTechnicalTerms?: boolean;
24
+ }
25
+ /**
26
+ * Locale-specific strings for CLI prompts and messages
27
+ */
28
+ export interface LocaleStrings {
29
+ cli: {
30
+ welcome: string;
31
+ error: string;
32
+ success: string;
33
+ warning: string;
34
+ info: string;
35
+ };
36
+ increment: {
37
+ created: string;
38
+ inProgress: string;
39
+ completed: string;
40
+ failed: string;
41
+ taskComplete: string;
42
+ allTasksComplete: string;
43
+ };
44
+ validation: {
45
+ invalidInput: string;
46
+ missingFile: string;
47
+ incompleteTasks: string;
48
+ blockingIncrement: string;
49
+ };
50
+ gates: {
51
+ taskGatePass: string;
52
+ taskGateFail: string;
53
+ testGatePass: string;
54
+ testGateFail: string;
55
+ docsGatePass: string;
56
+ docsGateFail: string;
57
+ };
58
+ }
59
+ /**
60
+ * Configuration for language-specific behavior
61
+ */
62
+ export interface LanguageConfig {
63
+ code: SupportedLanguage;
64
+ nativeName: string;
65
+ englishName: string;
66
+ systemPrompt: string;
67
+ rtl: boolean;
68
+ strings: LocaleStrings;
69
+ }
70
+ /**
71
+ * User preferences for language settings
72
+ */
73
+ export interface UserLanguagePreference {
74
+ primary: SupportedLanguage;
75
+ secondary?: SupportedLanguage;
76
+ codeCommentsInEnglish?: boolean;
77
+ frameworkTermsInEnglish?: boolean;
78
+ }
79
+ /**
80
+ * System prompt injection template
81
+ */
82
+ export interface SystemPromptTemplate {
83
+ language: SupportedLanguage;
84
+ prompt: string;
85
+ placement: 'top' | 'after-frontmatter' | 'bottom';
86
+ }
87
+ /**
88
+ * Translation result
89
+ */
90
+ export interface TranslationResult {
91
+ original: string;
92
+ translated: string;
93
+ sourceLanguage: SupportedLanguage;
94
+ targetLanguage: SupportedLanguage;
95
+ method: 'system-prompt' | 'in-session' | 'cached';
96
+ tokenCost?: number;
97
+ warnings?: string[];
98
+ }
99
+ /**
100
+ * Language detection result
101
+ */
102
+ export interface LanguageDetectionResult {
103
+ language: SupportedLanguage;
104
+ confidence: number;
105
+ reliable: boolean;
106
+ }
107
+ /**
108
+ * Global i18n configuration
109
+ */
110
+ export interface I18nConfig {
111
+ /** Default language */
112
+ defaultLanguage: SupportedLanguage;
113
+ /** Enabled languages */
114
+ enabledLanguages: SupportedLanguage[];
115
+ /** Auto-detect user language from environment */
116
+ autoDetect: boolean;
117
+ /** Translation cache settings */
118
+ cache?: {
119
+ enabled: boolean;
120
+ ttl: number;
121
+ };
122
+ }
123
+ /**
124
+ * Language metadata for display and selection
125
+ */
126
+ export interface LanguageMetadata {
127
+ /** Language code */
128
+ code: SupportedLanguage;
129
+ /** Native name (e.g., "Русский" for Russian) */
130
+ nativeName: string;
131
+ /** English name */
132
+ englishName: string;
133
+ /** Flag emoji */
134
+ flag: string;
135
+ /** Completion percentage (0-100) */
136
+ completionPercent: number;
137
+ }
138
+ /**
139
+ * Translation configuration for project
140
+ */
141
+ export interface TranslationConfig {
142
+ /** Enabled languages for this project */
143
+ languages: SupportedLanguage[];
144
+ /** Primary language */
145
+ primary: SupportedLanguage;
146
+ /** Translation method preference */
147
+ method: 'system-prompt' | 'in-session' | 'auto';
148
+ /** Keep framework terms in English */
149
+ preserveFrameworkTerms: boolean;
150
+ }
151
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SpecWeave i18n Type Definitions
3
+ *
4
+ * LLM-native multilingual support using system prompt injection
5
+ * instead of traditional translation.
6
+ *
7
+ * @module core/i18n
8
+ * @version 0.6.0
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/i18n/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Increment Status Detection
3
+ *
4
+ * Utility to detect increment completion status and enforce increment discipline.
5
+ *
6
+ * **The Iron Rule**: Cannot start increment N+1 until increment N is DONE.
7
+ *
8
+ * DONE means one of:
9
+ * 1. All tasks in tasks.md marked [x] Completed
10
+ * 2. COMPLETION-SUMMARY.md exists with "COMPLETE" status
11
+ * 3. All tasks removed/moved with documentation
12
+ */
13
+ export interface PendingTask {
14
+ id: string;
15
+ title: string;
16
+ priority?: string;
17
+ phase?: string;
18
+ }
19
+ export interface IncrementStatus {
20
+ id: string;
21
+ path: string;
22
+ exists: boolean;
23
+ isComplete: boolean;
24
+ totalTasks: number;
25
+ completedTasks: number;
26
+ percentComplete: number;
27
+ pendingTasks: PendingTask[];
28
+ completionReports: string[];
29
+ hasCompletionMarker: boolean;
30
+ reason?: string;
31
+ }
32
+ export declare class IncrementStatusDetector {
33
+ private incrementsPath;
34
+ constructor(projectPath?: string);
35
+ /**
36
+ * Get status for a specific increment
37
+ */
38
+ getStatus(incrementId: string): Promise<IncrementStatus>;
39
+ /**
40
+ * Get all incomplete increments
41
+ */
42
+ getAllIncomplete(): Promise<IncrementStatus[]>;
43
+ /**
44
+ * Get latest increment ID
45
+ */
46
+ getLatest(): Promise<string | null>;
47
+ /**
48
+ * Check if increment is complete
49
+ */
50
+ isComplete(incrementId: string): Promise<boolean>;
51
+ /**
52
+ * Find completion reports (COMPLETION-SUMMARY.md, etc.)
53
+ */
54
+ private findCompletionReports;
55
+ /**
56
+ * Parse tasks.md to extract task statistics
57
+ */
58
+ private parseTasksFile;
59
+ }
60
+ /**
61
+ * Convenience function to check if an increment is complete
62
+ */
63
+ export declare function isIncrementComplete(incrementId: string, projectPath?: string): Promise<boolean>;
64
+ /**
65
+ * Convenience function to get all incomplete increments
66
+ */
67
+ export declare function getAllIncompleteIncrements(projectPath?: string): Promise<IncrementStatus[]>;
68
+ /**
69
+ * Convenience function to get latest increment
70
+ */
71
+ export declare function getLatestIncrement(projectPath?: string): Promise<string | null>;
72
+ //# sourceMappingURL=increment-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"increment-status.d.ts","sourceRoot":"","sources":["../../src/core/increment-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,cAAc,CAAS;gBAEnB,WAAW,GAAE,MAAsB;IAI/C;;OAEG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAoE9D;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAkBpD;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBzC;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvD;;OAEG;YACW,qBAAqB;IAwBnC;;OAEG;IACH,OAAO,CAAC,cAAc;CAuEvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,EAAE,CAAC,CAG5B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB"}