specweave 0.1.9 → 0.3.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 (293) hide show
  1. package/CLAUDE.md +600 -0
  2. package/README.md +245 -81
  3. package/bin/install-all.sh +1 -1
  4. package/bin/install-commands.sh +3 -3
  5. package/bin/specweave.js +39 -9
  6. package/dist/adapters/adapter-base.d.ts +1 -1
  7. package/dist/adapters/adapter-base.d.ts.map +1 -1
  8. package/dist/adapters/adapter-base.js +6 -41
  9. package/dist/adapters/adapter-base.js.map +1 -1
  10. package/dist/adapters/adapter-interface.js +1 -2
  11. package/dist/adapters/adapter-interface.js.map +1 -1
  12. package/dist/adapters/adapter-loader.d.ts +86 -0
  13. package/dist/adapters/adapter-loader.d.ts.map +1 -0
  14. package/dist/adapters/adapter-loader.js +216 -0
  15. package/dist/adapters/adapter-loader.js.map +1 -0
  16. package/dist/adapters/agents-md-generator.d.ts +48 -0
  17. package/dist/adapters/agents-md-generator.d.ts.map +1 -0
  18. package/dist/adapters/agents-md-generator.js +132 -0
  19. package/dist/adapters/agents-md-generator.js.map +1 -0
  20. package/dist/adapters/claude/adapter.d.ts +2 -2
  21. package/dist/adapters/claude/adapter.d.ts.map +1 -1
  22. package/dist/adapters/claude/adapter.js +5 -42
  23. package/dist/adapters/claude/adapter.js.map +1 -1
  24. package/dist/adapters/claude-md-generator.d.ts +78 -0
  25. package/dist/adapters/claude-md-generator.d.ts.map +1 -0
  26. package/dist/adapters/claude-md-generator.js +246 -0
  27. package/dist/adapters/claude-md-generator.js.map +1 -0
  28. package/dist/adapters/codex/adapter.d.ts +50 -0
  29. package/dist/adapters/codex/adapter.d.ts.map +1 -0
  30. package/dist/adapters/codex/adapter.js +316 -0
  31. package/dist/adapters/codex/adapter.js.map +1 -0
  32. package/dist/adapters/copilot/adapter.d.ts +10 -9
  33. package/dist/adapters/copilot/adapter.d.ts.map +1 -1
  34. package/dist/adapters/copilot/adapter.js +35 -100
  35. package/dist/adapters/copilot/adapter.js.map +1 -1
  36. package/dist/adapters/cursor/adapter.d.ts +8 -6
  37. package/dist/adapters/cursor/adapter.d.ts.map +1 -1
  38. package/dist/adapters/cursor/adapter.js +47 -130
  39. package/dist/adapters/cursor/adapter.js.map +1 -1
  40. package/dist/adapters/doc-generator.d.ts +69 -0
  41. package/dist/adapters/doc-generator.d.ts.map +1 -0
  42. package/dist/adapters/doc-generator.js +247 -0
  43. package/dist/adapters/doc-generator.js.map +1 -0
  44. package/dist/adapters/gemini/adapter.d.ts +50 -0
  45. package/dist/adapters/gemini/adapter.d.ts.map +1 -0
  46. package/dist/adapters/gemini/adapter.js +281 -0
  47. package/dist/adapters/gemini/adapter.js.map +1 -0
  48. package/dist/adapters/generic/adapter.d.ts +7 -4
  49. package/dist/adapters/generic/adapter.d.ts.map +1 -1
  50. package/dist/adapters/generic/adapter.js +60 -59
  51. package/dist/adapters/generic/adapter.js.map +1 -1
  52. package/dist/cli/commands/init.d.ts +3 -1
  53. package/dist/cli/commands/init.d.ts.map +1 -1
  54. package/dist/cli/commands/init.js +272 -170
  55. package/dist/cli/commands/init.js.map +1 -1
  56. package/dist/cli/commands/install.d.ts.map +1 -1
  57. package/dist/cli/commands/install.js +22 -58
  58. package/dist/cli/commands/install.js.map +1 -1
  59. package/dist/cli/commands/list.d.ts.map +1 -1
  60. package/dist/cli/commands/list.js +27 -64
  61. package/dist/cli/commands/list.js.map +1 -1
  62. package/dist/core/credentials-manager.d.ts +90 -0
  63. package/dist/core/credentials-manager.d.ts.map +1 -0
  64. package/dist/core/credentials-manager.js +271 -0
  65. package/dist/core/credentials-manager.js.map +1 -0
  66. package/dist/core/project-structure-detector.d.ts +92 -0
  67. package/dist/core/project-structure-detector.d.ts.map +1 -0
  68. package/dist/core/project-structure-detector.js +289 -0
  69. package/dist/core/project-structure-detector.js.map +1 -0
  70. package/dist/core/rfc-generator-v2.d.ts +149 -0
  71. package/dist/core/rfc-generator-v2.d.ts.map +1 -0
  72. package/dist/core/rfc-generator-v2.js +399 -0
  73. package/dist/core/rfc-generator-v2.js.map +1 -0
  74. package/dist/core/rfc-generator.d.ts +147 -0
  75. package/dist/core/rfc-generator.d.ts.map +1 -0
  76. package/dist/core/rfc-generator.js +434 -0
  77. package/dist/core/rfc-generator.js.map +1 -0
  78. package/dist/integrations/ado/ado-client.d.ts +123 -0
  79. package/dist/integrations/ado/ado-client.d.ts.map +1 -0
  80. package/dist/integrations/ado/ado-client.js +398 -0
  81. package/dist/integrations/ado/ado-client.js.map +1 -0
  82. package/dist/integrations/jira/jira-client.d.ts +139 -0
  83. package/dist/integrations/jira/jira-client.d.ts.map +1 -0
  84. package/dist/integrations/jira/jira-client.js +386 -0
  85. package/dist/integrations/jira/jira-client.js.map +1 -0
  86. package/dist/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  87. package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  88. package/dist/integrations/jira/jira-incremental-mapper.js +474 -0
  89. package/dist/integrations/jira/jira-incremental-mapper.js.map +1 -0
  90. package/dist/integrations/jira/jira-mapper.d.ts +105 -0
  91. package/dist/integrations/jira/jira-mapper.d.ts.map +1 -0
  92. package/dist/integrations/jira/jira-mapper.js +494 -0
  93. package/dist/integrations/jira/jira-mapper.js.map +1 -0
  94. package/dist/testing/test-generator.d.ts +117 -0
  95. package/dist/testing/test-generator.d.ts.map +1 -0
  96. package/dist/testing/test-generator.js +370 -0
  97. package/dist/testing/test-generator.js.map +1 -0
  98. package/dist/utils/auto-install.d.ts +3 -0
  99. package/dist/utils/auto-install.d.ts.map +1 -1
  100. package/dist/utils/auto-install.js +16 -82
  101. package/dist/utils/auto-install.js.map +1 -1
  102. package/dist/utils/esm-helpers.d.ts +50 -0
  103. package/dist/utils/esm-helpers.d.ts.map +1 -0
  104. package/dist/utils/esm-helpers.js +57 -0
  105. package/dist/utils/esm-helpers.js.map +1 -0
  106. package/package.json +16 -7
  107. package/src/adapters/README.md +1 -2
  108. package/src/adapters/adapter-base.ts +6 -3
  109. package/src/adapters/adapter-loader.ts +261 -0
  110. package/src/adapters/agents-md-generator.ts +162 -0
  111. package/src/adapters/claude/README.md +6 -14
  112. package/src/adapters/claude/adapter.ts +4 -4
  113. package/src/adapters/claude-md-generator.ts +311 -0
  114. package/src/adapters/codex/README.md +105 -0
  115. package/src/adapters/codex/adapter.ts +333 -0
  116. package/src/adapters/copilot/adapter.ts +36 -65
  117. package/src/adapters/cursor/README.md +0 -2
  118. package/src/adapters/cursor/adapter.ts +46 -92
  119. package/src/adapters/doc-generator.ts +331 -0
  120. package/src/adapters/gemini/README.md +97 -0
  121. package/src/adapters/gemini/adapter.ts +298 -0
  122. package/src/adapters/generic/adapter.ts +61 -57
  123. package/src/adapters/registry.yaml +86 -25
  124. package/src/agents/devops/AGENT.md +16 -18
  125. package/src/agents/docs-writer/AGENT.md +2 -2
  126. package/src/agents/pm/AGENT.md +1 -50
  127. package/src/commands/README.md +134 -111
  128. package/src/commands/{build.md → specweave.do.md} +141 -69
  129. package/src/commands/{done.md → specweave.done.md} +3 -3
  130. package/src/commands/{inc.md → specweave.inc.md} +4 -4
  131. package/src/commands/{increment.md → specweave.increment.md} +143 -76
  132. package/src/commands/specweave.md +430 -0
  133. package/src/commands/specweave.next.md +495 -0
  134. package/src/commands/{progress.md → specweave.progress.md} +12 -12
  135. package/src/commands/specweave.sync-docs.md +665 -0
  136. package/src/commands/specweave.sync-github.md +269 -0
  137. package/src/commands/specweave.sync-jira.md +197 -0
  138. package/src/commands/{validate.md → specweave.validate.md} +4 -4
  139. package/src/hooks/README.md +19 -29
  140. package/src/hooks/post-task-completion.sh +25 -30
  141. package/src/skills/ado-sync/README.md +1 -36
  142. package/src/skills/bmad-method-expert/SKILL.md +1 -3
  143. package/src/skills/brownfield-analyzer/SKILL.md +429 -23
  144. package/src/skills/brownfield-onboarder/SKILL.md +221 -8
  145. package/src/skills/context-loader/SKILL.md +239 -617
  146. package/src/skills/context-optimizer/SKILL.md +0 -30
  147. package/src/skills/github-sync/SKILL.md +1 -19
  148. package/src/skills/increment-planner/SKILL.md +64 -18
  149. package/src/skills/increment-quality-judge/SKILL.md +1 -36
  150. package/src/skills/jira-sync/README.md +1 -38
  151. package/src/skills/role-orchestrator/README.md +1 -22
  152. package/src/skills/role-orchestrator/SKILL.md +1 -59
  153. package/src/skills/skill-router/SKILL.md +0 -18
  154. package/src/skills/spec-kit-expert/SKILL.md +1 -3
  155. package/src/skills/specweave-detector/SKILL.md +225 -275
  156. package/src/skills/task-builder/README.md +1 -7
  157. package/src/templates/AGENTS.md.template +334 -0
  158. package/src/templates/CLAUDE.md.template +131 -298
  159. package/src/templates/README.md.template +115 -23
  160. package/src/templates/environments/minimal/README.md +0 -1
  161. package/INSTALL.md +0 -848
  162. package/SPECWEAVE.md +0 -743
  163. package/src/adapters/copilot/.github/copilot/instructions.md +0 -376
  164. package/src/adapters/cursor/.cursorrules +0 -325
  165. package/src/adapters/generic/SPECWEAVE-MANUAL.md +0 -676
  166. package/src/commands/create-project.md +0 -528
  167. package/src/commands/generate-docs.md +0 -623
  168. package/src/commands/review-docs.md +0 -331
  169. package/src/commands/sync-github.md +0 -115
  170. package/src/skills/ado-sync/test-cases/test-1.yaml +0 -9
  171. package/src/skills/ado-sync/test-cases/test-2.yaml +0 -8
  172. package/src/skills/ado-sync/test-cases/test-3.yaml +0 -9
  173. package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +0 -12
  174. package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +0 -12
  175. package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +0 -12
  176. package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +0 -48
  177. package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +0 -12
  178. package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +0 -12
  179. package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +0 -12
  180. package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +0 -12
  181. package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +0 -12
  182. package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +0 -12
  183. package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +0 -12
  184. package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +0 -12
  185. package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +0 -39
  186. package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +0 -44
  187. package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +0 -45
  188. package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +0 -97
  189. package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +0 -109
  190. package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +0 -98
  191. package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +0 -75
  192. package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +0 -52
  193. package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +0 -63
  194. package/src/skills/cost-optimizer/test-results/README.md +0 -46
  195. package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +0 -23
  196. package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +0 -24
  197. package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +0 -23
  198. package/src/skills/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -13
  199. package/src/skills/diagrams-architect/test-cases/test-2-sequence-diagram.yaml +0 -13
  200. package/src/skills/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -13
  201. package/src/skills/diagrams-generator/test-cases/test-1.yaml +0 -9
  202. package/src/skills/diagrams-generator/test-cases/test-2.yaml +0 -9
  203. package/src/skills/diagrams-generator/test-cases/test-3.yaml +0 -8
  204. package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +0 -12
  205. package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +0 -12
  206. package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +0 -12
  207. package/src/skills/dotnet-backend/test-cases/test-1-rest-api.yaml +0 -14
  208. package/src/skills/dotnet-backend/test-cases/test-2-authentication.yaml +0 -13
  209. package/src/skills/dotnet-backend/test-cases/test-3-minimal-api.yaml +0 -13
  210. package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +0 -54
  211. package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +0 -64
  212. package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +0 -74
  213. package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +0 -98
  214. package/src/skills/figma-designer/test-cases/test-1-design-system.yaml +0 -13
  215. package/src/skills/figma-designer/test-cases/test-2-component-library.yaml +0 -13
  216. package/src/skills/figma-designer/test-cases/test-3-responsive-layout.yaml +0 -13
  217. package/src/skills/figma-implementer/test-cases/test-1-design-to-react.yaml +0 -13
  218. package/src/skills/figma-implementer/test-cases/test-2-storybook.yaml +0 -13
  219. package/src/skills/figma-implementer/test-cases/test-3-design-tokens.yaml +0 -13
  220. package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +0 -22
  221. package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +0 -21
  222. package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +0 -18
  223. package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +0 -29
  224. package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +0 -27
  225. package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +0 -28
  226. package/src/skills/frontend/test-cases/test-1-react-component.yaml +0 -13
  227. package/src/skills/frontend/test-cases/test-2-form-validation.yaml +0 -13
  228. package/src/skills/frontend/test-cases/test-3-state-management.yaml +0 -13
  229. package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +0 -12
  230. package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +0 -12
  231. package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +0 -12
  232. package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +0 -71
  233. package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +0 -85
  234. package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +0 -126
  235. package/src/skills/hetzner-provisioner/test-results/README.md +0 -259
  236. package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +0 -27
  237. package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +0 -30
  238. package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +0 -24
  239. package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +0 -95
  240. package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +0 -108
  241. package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +0 -87
  242. package/src/skills/jira-sync/test-cases/test-1.yaml +0 -9
  243. package/src/skills/jira-sync/test-cases/test-2.yaml +0 -9
  244. package/src/skills/jira-sync/test-cases/test-3.yaml +0 -10
  245. package/src/skills/nextjs/test-cases/test-1-app-router.yaml +0 -13
  246. package/src/skills/nextjs/test-cases/test-2-server-actions.yaml +0 -13
  247. package/src/skills/nextjs/test-cases/test-3-api-routes.yaml +0 -13
  248. package/src/skills/nodejs-backend/test-cases/test-1-express-api.yaml +0 -13
  249. package/src/skills/nodejs-backend/test-cases/test-2-prisma-orm.yaml +0 -13
  250. package/src/skills/nodejs-backend/test-cases/test-3-authentication.yaml +0 -13
  251. package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +0 -12
  252. package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +0 -12
  253. package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +0 -12
  254. package/src/skills/python-backend/test-cases/test-1-fastapi-crud.yaml +0 -13
  255. package/src/skills/python-backend/test-cases/test-2-sqlalchemy.yaml +0 -13
  256. package/src/skills/python-backend/test-cases/test-3-authentication.yaml +0 -13
  257. package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +0 -98
  258. package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +0 -73
  259. package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +0 -121
  260. package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +0 -145
  261. package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +0 -149
  262. package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +0 -12
  263. package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +0 -12
  264. package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +0 -12
  265. package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +0 -33
  266. package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +0 -42
  267. package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +0 -50
  268. package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +0 -148
  269. package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +0 -190
  270. package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +0 -233
  271. package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +0 -212
  272. package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +0 -461
  273. package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +0 -366
  274. package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +0 -12
  275. package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +0 -12
  276. package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +0 -12
  277. package/src/skills/specweave-ado-mapper/test-cases/test-1-export-to-ado.yaml +0 -13
  278. package/src/skills/specweave-ado-mapper/test-cases/test-2-import-from-ado.yaml +0 -13
  279. package/src/skills/specweave-ado-mapper/test-cases/test-3-bidirectional-sync.yaml +0 -13
  280. package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +0 -37
  281. package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +0 -37
  282. package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +0 -34
  283. package/src/skills/specweave-jira-mapper/test-cases/test-1-export-to-jira.yaml +0 -13
  284. package/src/skills/specweave-jira-mapper/test-cases/test-2-import-from-jira.yaml +0 -13
  285. package/src/skills/specweave-jira-mapper/test-cases/test-3-sync-status.yaml +0 -13
  286. package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +0 -12
  287. package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +0 -12
  288. package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +0 -12
  289. package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +0 -12
  290. package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +0 -12
  291. package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +0 -12
  292. package/src/templates/config.yaml +0 -351
  293. /package/src/commands/{list-increments.md → specweave.list-increments.md} +0 -0
package/CLAUDE.md ADDED
@@ -0,0 +1,600 @@
1
+ # SpecWeave - Development Guide
2
+
3
+ **Project**: SpecWeave - Spec-Driven Development Framework
4
+ **Version**: 0.2.0
5
+ **Type**: Open Source NPM Package (TypeScript CLI)
6
+ **Repository**: https://github.com/anton-abyzov/specweave
7
+ **Website**: https://spec-weave.com
8
+
9
+ This CLAUDE.md is for **contributors to SpecWeave itself**, not users of SpecWeave.
10
+ Users receive a different CLAUDE.md via the template system.
11
+
12
+ ---
13
+
14
+ ## Quick Start for Contributors
15
+
16
+ **Current Work**: Increment 0002 - Core Framework Enhancements (73% complete)
17
+ **Active Branch**: `develop` → merges to `features/001-core-feature`
18
+ **Current Focus**: Diagram agents, command refactoring, context loading improvements
19
+
20
+ **Typical Workflow**:
21
+ ```bash
22
+ # 1. Make changes to source files in src/
23
+ # 2. Test locally
24
+ npm run build && npm test
25
+
26
+ # 3. Use SpecWeave commands for managing work
27
+ /specweave.do # Execute next task
28
+ /specweave.progress # Check status
29
+
30
+ # 4. Commit with hooks (auto-validates)
31
+ git add . && git commit -m "feat: description"
32
+ ```
33
+
34
+ ---
35
+
36
+ ## Project Architecture
37
+
38
+ ### Source of Truth Principle
39
+
40
+ **CRITICAL**: SpecWeave follows a strict source-of-truth pattern:
41
+
42
+ ```
43
+ src/ ← SOURCE OF TRUTH (version controlled)
44
+ ├── skills/ ← Source for skills
45
+ ├── agents/ ← Source for agents
46
+ ├── commands/ ← Source for slash commands
47
+ ├── hooks/ ← Source for hooks
48
+ ├── adapters/ ← Tool adapters (Claude, Cursor, etc.)
49
+ └── templates/ ← Templates for user projects
50
+
51
+ .claude/ ← INSTALLED (gitignored in user projects)
52
+ ├── skills/ ← Installed from src/skills/
53
+ ├── agents/ ← Installed from src/agents/
54
+ ├── commands/ ← Installed from src/commands/
55
+ └── hooks/ ← Installed from src/hooks/
56
+
57
+ .specweave/ ← FRAMEWORK DATA (always present)
58
+ ├── increments/ ← Feature development
59
+ ├── docs/ ← Strategic documentation
60
+ └── config.yaml ← Configuration
61
+ ```
62
+
63
+ **Rules**:
64
+ - ✅ ALWAYS edit files in `src/` (source of truth)
65
+ - ✅ Run install scripts to sync changes to `.claude/`
66
+ - ❌ NEVER edit files in `.claude/` directly (they get overwritten)
67
+ - ❌ NEVER create new files in project root (use increment folders)
68
+
69
+ ### Tech Stack
70
+
71
+ **Core**:
72
+ - TypeScript 5.x (strict mode)
73
+ - Node.js 18+ (ESM + CommonJS)
74
+ - Commander.js (CLI framework)
75
+ - Inquirer.js (interactive prompts)
76
+ - fs-extra (file operations)
77
+
78
+ **Testing**:
79
+ - Playwright (E2E browser tests)
80
+ - Jest (unit + integration tests)
81
+ - ts-jest (TypeScript support)
82
+
83
+ **Documentation**:
84
+ - Docusaurus 3.x (docs-site/)
85
+ - Mermaid diagrams (architecture visualization)
86
+ - Markdown (all docs)
87
+
88
+ **Distribution**:
89
+ - NPM package (`npm publish`)
90
+ - Install script (`install.sh`)
91
+
92
+ ---
93
+
94
+ ## Directory Structure
95
+
96
+ ```
97
+ specweave/
98
+ ├── src/ # SOURCE OF TRUTH
99
+ │ ├── cli/ # CLI commands (init, version)
100
+ │ │ └── commands/
101
+ │ │ └── init.ts # Main installation logic
102
+ │ ├── core/ # Core framework logic
103
+ │ │ ├── config-manager.ts # Config loading/validation
104
+ │ │ └── project-structure-detector.ts
105
+ │ ├── skills/ # 35+ skills (SKILL.md + test-cases/)
106
+ │ │ ├── increment-planner/
107
+ │ │ ├── context-loader/
108
+ │ │ └── ...
109
+ │ ├── agents/ # 10 specialized agents (AGENT.md)
110
+ │ │ ├── pm/
111
+ │ │ ├── architect/
112
+ │ │ └── ...
113
+ │ ├── commands/ # Slash commands (.md)
114
+ │ │ ├── specweave.inc.md
115
+ │ │ ├── specweave.do.md
116
+ │ │ └── ...
117
+ │ ├── hooks/ # Lifecycle hooks (.sh)
118
+ │ │ └── post-task-completion.sh
119
+ │ ├── adapters/ # Multi-tool support
120
+ │ │ ├── claude/
121
+ │ │ ├── cursor/
122
+ │ │ ├── copilot/
123
+ │ │ └── generic/
124
+ │ ├── templates/ # User project templates
125
+ │ │ ├── CLAUDE.md.template
126
+ │ │ ├── AGENTS.md.template
127
+ │ │ └── ...
128
+ │ └── utils/ # Utility functions
129
+
130
+ ├── .claude/ # Pre-installed for SpecWeave dev
131
+ │ ├── skills/ # Synced from src/skills/
132
+ │ ├── agents/ # Synced from src/agents/
133
+ │ └── commands/ # Synced from src/commands/
134
+
135
+ ├── .specweave/ # SpecWeave's own increments
136
+ │ ├── increments/
137
+ │ │ ├── 0001-core-framework/
138
+ │ │ ├── 0002-core-enhancements/
139
+ │ │ │ ├── spec.md
140
+ │ │ │ ├── plan.md
141
+ │ │ │ ├── tasks.md
142
+ │ │ │ ├── tests.md
143
+ │ │ │ ├── logs/ # ✅ Session logs go here
144
+ │ │ │ ├── scripts/ # ✅ Helper scripts
145
+ │ │ │ └── reports/ # ✅ Analysis files
146
+ │ │ └── _backlog/
147
+ │ ├── docs/
148
+ │ │ ├── internal/ # Strategic docs
149
+ │ │ └── public/ # Published docs
150
+ │ ├── config.yaml # SpecWeave's config
151
+ │ └── logs/
152
+
153
+ ├── tests/
154
+ │ ├── e2e/ # Playwright E2E tests
155
+ │ ├── integration/ # Integration tests
156
+ │ ├── unit/ # Unit tests
157
+ │ └── specs/ # Test specifications
158
+
159
+ ├── bin/ # Installation scripts
160
+ │ ├── install-all.sh
161
+ │ ├── install-skills.sh
162
+ │ └── install-agents.sh
163
+
164
+ ├── scripts/ # Build/deployment scripts
165
+ │ ├── install-brownfield.sh
166
+ │ └── generate-diagram-svgs.sh
167
+
168
+ ├── docs-site/ # Docusaurus documentation site
169
+
170
+ ├── CLAUDE.md # This file (for contributors)
171
+ ├── README.md # GitHub README (for users)
172
+ ├── CHANGELOG.md # Version history
173
+ ├── package.json # NPM package definition
174
+ └── tsconfig.json # TypeScript configuration
175
+ ```
176
+
177
+ ---
178
+
179
+ ## File Organization Rules
180
+
181
+ ### ✅ ALLOWED in Root
182
+
183
+ - `CLAUDE.md` (this file)
184
+ - `README.md`, `CHANGELOG.md`, `LICENSE`
185
+ - Standard config files (`package.json`, `tsconfig.json`, `.gitignore`)
186
+ - Build artifacts (`dist/`, only if needed temporarily)
187
+
188
+ ### ❌ NEVER Create in Root (Pollutes Repository)
189
+
190
+ All AI-generated files MUST go into increment folders:
191
+
192
+ ```
193
+ ❌ WRONG:
194
+ /SESSION-SUMMARY-2025-10-28.md # NO!
195
+ /ADR-006-DEEP-ANALYSIS.md # NO!
196
+ /ANALYSIS-MULTI-TOOL-COMPARISON.md # NO!
197
+ /CONTEXT-LOADER-CORRECTIONS.md # NO!
198
+
199
+ ✅ CORRECT:
200
+ .specweave/increments/0002-core-enhancements/
201
+ ├── reports/
202
+ │ ├── SESSION-SUMMARY-2025-10-28.md
203
+ │ ├── ADR-006-DEEP-ANALYSIS.md
204
+ │ ├── ANALYSIS-MULTI-TOOL-COMPARISON.md
205
+ │ └── CONTEXT-LOADER-CORRECTIONS.md
206
+ ├── logs/
207
+ │ └── execution-2025-10-28.log
208
+ └── scripts/
209
+ └── migration-helper.sh
210
+ ```
211
+
212
+ **Why?**
213
+ - ✅ Complete traceability (which increment created which files)
214
+ - ✅ Easy cleanup (delete increment folder = delete all files)
215
+ - ✅ Clear context (all files for a feature in one place)
216
+ - ✅ No root clutter
217
+
218
+ ---
219
+
220
+ ## Development Workflow
221
+
222
+ ### Making Changes
223
+
224
+ **1. Skills** (`src/skills/skill-name/`):
225
+ ```bash
226
+ # Edit source
227
+ vim src/skills/context-loader/SKILL.md
228
+
229
+ # Sync to .claude/
230
+ npm run install:skills
231
+
232
+ # Test
233
+ /context-loader-test
234
+ ```
235
+
236
+ **2. Agents** (`src/agents/agent-name/`):
237
+ ```bash
238
+ # Edit source
239
+ vim src/agents/pm/AGENT.md
240
+
241
+ # Sync to .claude/
242
+ npm run install:agents
243
+
244
+ # Test by invoking via Task tool
245
+ ```
246
+
247
+ **3. Commands** (`src/commands/command-name.md`):
248
+ ```bash
249
+ # Edit source
250
+ vim src/commands/specweave.do.md
251
+
252
+ # Sync to .claude/
253
+ npm run install:all
254
+
255
+ # Test
256
+ /specweave.do
257
+ ```
258
+
259
+ **4. Core Logic** (`src/core/`, `src/cli/`):
260
+ ```bash
261
+ # Edit TypeScript
262
+ vim src/core/config-manager.ts
263
+
264
+ # Build
265
+ npm run build
266
+
267
+ # Test
268
+ npm test
269
+ ```
270
+
271
+ ### Testing Strategy
272
+
273
+ **Four Levels of Testing** (mirroring SpecWeave's philosophy):
274
+
275
+ 1. **Specification Tests** (`.specweave/docs/internal/strategy/`)
276
+ - Acceptance criteria in PRDs
277
+ - Manual validation
278
+
279
+ 2. **Feature Tests** (`.specweave/increments/####/tests.md`)
280
+ - Test coverage plans per increment
281
+ - TC-XXXX test case IDs
282
+
283
+ 3. **Skill Tests** (`src/skills/{name}/test-cases/*.yaml`)
284
+ - YAML-based test cases
285
+ - Minimum 3 test cases per skill
286
+ - Run via: `npm run test:skill`
287
+
288
+ 4. **Code Tests** (`tests/`)
289
+ - **E2E (Playwright)**: MANDATORY for UI features
290
+ - `tests/e2e/specweave-smoke.spec.ts`
291
+ - Run: `npm run test:e2e`
292
+ - **Integration**: Tool sync, brownfield detection
293
+ - `tests/integration/`
294
+ - Run: `npm run test:integration`
295
+ - **Unit**: Core logic, config parsing
296
+ - `tests/unit/`
297
+ - Run: `npm test`
298
+
299
+ **Coverage Requirements**:
300
+ - Critical paths: 90%+
301
+ - Overall: 80%+
302
+ - Tests MUST tell the truth (no false positives)
303
+
304
+ ### Hooks and Automation
305
+
306
+ **Post-Task Completion Hook** (`.claude/hooks/post-task-completion.sh`):
307
+ - ✅ Plays completion sound (Glass.aiff on macOS)
308
+ - ✅ Outputs JSON systemMessage reminder
309
+ - ✅ Logs to `.specweave/logs/tasks.log`
310
+
311
+ **Manual Actions** (Claude MUST do after each task):
312
+ - Update `CLAUDE.md` when structure changes
313
+ - Update `README.md` for user-facing changes
314
+ - Update `CHANGELOG.md` for API changes
315
+
316
+ **Living Docs Sync** (after `/specweave.do` completes):
317
+ - Run `/sync-docs update`
318
+ - Updates `.specweave/docs/` with implementation learnings
319
+ - Updates ADRs from Proposed → Accepted
320
+
321
+ ---
322
+
323
+ ## Current Work (Increment 0002)
324
+
325
+ **Increment**: 0002-core-enhancements
326
+ **Title**: Core Framework Enhancements - Multi-Tool Support & Diagram Agents
327
+ **Status**: In Progress (73% complete, 11/15 tasks done)
328
+ **Priority**: P1
329
+ **Started**: 2025-10-27
330
+
331
+ **Two Parts**:
332
+
333
+ ### Part A: Multi-Tool Compatibility (Deferred)
334
+ - Make SpecWeave work with Cursor, Copilot, Windsurf, etc.
335
+ - Adapter pattern implementation
336
+ - Inspired by spec-kit and BMAD-METHOD
337
+
338
+ ### Part B: Diagram Generation Agents (73% Complete)
339
+ - ✅ Context C4 diagrams
340
+ - ✅ Container C4 diagrams
341
+ - ✅ Component C4 diagrams
342
+ - ✅ Sequence diagrams
343
+ - ✅ ER diagrams
344
+ - ⏳ Deployment diagrams (in progress)
345
+
346
+ **Files to Focus On**:
347
+ - `.specweave/increments/0002-core-enhancements/spec.md`
348
+ - `.specweave/increments/0002-core-enhancements/plan.md`
349
+ - `.specweave/increments/0002-core-enhancements/tasks.md`
350
+
351
+ **Recent Changes**:
352
+ - ✅ Migrated commands from `specweave-xxx` to `specweave.xxx` (dot notation)
353
+ - ✅ Fixed context documentation (removed non-existent features)
354
+ - ✅ Corrected ADR-0002 (context loading architecture)
355
+
356
+ ---
357
+
358
+ ## Key SpecWeave Principles (for Contributors)
359
+
360
+ ### 1. Source of Truth Discipline
361
+ - `src/` is ALWAYS the source of truth
362
+ - `.claude/` is ALWAYS installed/generated (never edit directly)
363
+ - Keep root folder clean (use increment folders)
364
+
365
+ ### 2. Documentation = Code
366
+ - All changes must update relevant documentation
367
+ - ADRs for architecture decisions
368
+ - RFCs for feature proposals
369
+ - Inline code comments for complex logic
370
+
371
+ ### 3. Testing is Non-Negotiable
372
+ - E2E tests MANDATORY for UI features (Playwright)
373
+ - 80%+ coverage for critical paths
374
+ - Tests must tell the truth (no false positives)
375
+
376
+ ### 4. Incremental Development
377
+ - Work in small, measurable increments
378
+ - Use SpecWeave's own workflow (`/specweave.inc`, `/specweave.do`, etc.)
379
+ - All work traces back to specs
380
+
381
+ ### 5. Adapter-First Design
382
+ - Core framework must be tool-agnostic
383
+ - Tool-specific features in adapters only
384
+ - Plain Markdown + YAML = maximum portability
385
+
386
+ ---
387
+
388
+ ## Release Process
389
+
390
+ **NPM Publishing**:
391
+ ```bash
392
+ # 1. Update version
393
+ npm version patch|minor|major
394
+
395
+ # 2. Update CHANGELOG.md
396
+ vim CHANGELOG.md
397
+
398
+ # 3. Build and test
399
+ npm run build
400
+ npm test
401
+ npm run test:e2e
402
+
403
+ # 4. Publish to NPM
404
+ npm publish
405
+
406
+ # 5. Tag and push
407
+ git push origin develop --tags
408
+ ```
409
+
410
+ **Installation Methods**:
411
+ 1. **NPM**: `npm install -g specweave`
412
+ 2. **Script**: `curl -fsSL https://spec-weave.com/install.sh | bash`
413
+ 3. **Manual**: Clone repo, `npm install`, `npm run build`
414
+
415
+ ---
416
+
417
+ ## Adapter System
418
+
419
+ SpecWeave supports multiple AI coding tools via adapters:
420
+
421
+ **Supported Tools**:
422
+ - ✅ Claude Code (best-in-class, native support)
423
+ - ✅ Cursor (via `.cursorrules` + Markdown commands)
424
+ - ✅ GitHub Copilot (via `.github/copilot/instructions.md`)
425
+ - ⏳ Generic (Markdown-only, for ChatGPT/Gemini/etc.)
426
+ - 🔮 Windsurf (planned)
427
+
428
+ **Adapter Pattern**:
429
+ ```
430
+ src/adapters/
431
+ ├── claude/ # Claude Code native (slash commands, agents)
432
+ │ ├── adapter.ts
433
+ │ └── README.md
434
+ ├── cursor/ # Cursor (.cursorrules)
435
+ │ ├── adapter.ts
436
+ │ └── README.md
437
+ ├── copilot/ # GitHub Copilot (instructions.md)
438
+ │ ├── adapter.ts
439
+ │ └── README.md
440
+ └── generic/ # Generic Markdown (all others)
441
+ ├── adapter.ts
442
+ └── SPECWEAVE-MANUAL.md
443
+ ```
444
+
445
+ **Auto-Detection**:
446
+ - Detects user's AI tool during `specweave init`
447
+ - Installs appropriate adapter
448
+ - Falls back to generic if unknown
449
+
450
+ ---
451
+
452
+ ## Common Tasks
453
+
454
+ ### Add a New Skill
455
+
456
+ ```bash
457
+ # 1. Create skill directory
458
+ mkdir -p src/skills/my-new-skill/test-cases
459
+
460
+ # 2. Create SKILL.md
461
+ cat > src/skills/my-new-skill/SKILL.md << 'EOF'
462
+ ---
463
+ name: my-new-skill
464
+ description: What it does and when to activate
465
+ ---
466
+
467
+ # My New Skill
468
+
469
+ Content here...
470
+ EOF
471
+
472
+ # 3. Add test cases (minimum 3)
473
+ vim src/skills/my-new-skill/test-cases/test-1-basic.yaml
474
+
475
+ # 4. Install locally
476
+ npm run install:skills
477
+
478
+ # 5. Test
479
+ # Ask Claude something that matches the skill's description
480
+ ```
481
+
482
+ ### Add a New Command
483
+
484
+ ```bash
485
+ # 1. Create command file
486
+ cat > src/commands/specweave.newcmd.md << 'EOF'
487
+ ---
488
+ name: newcmd
489
+ description: Short description
490
+ ---
491
+
492
+ # New Command
493
+
494
+ Prompt for Claude...
495
+ EOF
496
+
497
+ # 2. Install locally
498
+ npm run install:all
499
+
500
+ # 3. Test
501
+ /specweave.newcmd
502
+
503
+ # 4. Add to commands/README.md index
504
+ ```
505
+
506
+ ### Update Documentation
507
+
508
+ ```bash
509
+ # Internal docs (architecture, ADRs, RFCs)
510
+ vim .specweave/docs/internal/architecture/hld-system.md
511
+
512
+ # Public docs (user guides)
513
+ vim docs-site/docs/guides/getting-started.md
514
+
515
+ # Build docs site
516
+ cd docs-site && npm run build
517
+ ```
518
+
519
+ ---
520
+
521
+ ## Troubleshooting
522
+
523
+ **Skills not activating?**
524
+ 1. Check YAML frontmatter in `SKILL.md`
525
+ 2. Verify installation: `ls ~/.claude/skills/skill-name/`
526
+ 3. Restart Claude Code
527
+ 4. Check description has clear trigger keywords
528
+
529
+ **Commands not working?**
530
+ 1. Verify file in `.claude/commands/`
531
+ 2. Check YAML frontmatter
532
+ 3. Restart Claude Code
533
+ 4. Check command name matches file name
534
+
535
+ **Tests failing?**
536
+ 1. Run `npm run build` first
537
+ 2. Check test output for specific errors
538
+ 3. Verify test data in `tests/fixtures/`
539
+ 4. Check Playwright browser install: `npx playwright install`
540
+
541
+ **Root folder polluted?**
542
+ 1. Identify which increment created the files
543
+ 2. Move to `.specweave/increments/####/reports/`
544
+ 3. Update `.gitignore` if needed
545
+
546
+ ---
547
+
548
+ ## Getting Help
549
+
550
+ **Documentation**:
551
+ - User docs: https://spec-weave.com
552
+ - Contributor docs: `.specweave/docs/internal/`
553
+ - Architecture: `.specweave/docs/internal/architecture/`
554
+
555
+ **Community**:
556
+ - GitHub Issues: https://github.com/anton-abyzov/specweave/issues
557
+ - Discussions: https://github.com/anton-abyzov/specweave/discussions
558
+
559
+ **Current Increment**:
560
+ - Spec: `.specweave/increments/0002-core-enhancements/spec.md`
561
+ - Plan: `.specweave/increments/0002-core-enhancements/plan.md`
562
+ - Tasks: `.specweave/increments/0002-core-enhancements/tasks.md`
563
+
564
+ ---
565
+
566
+ ## Quick Reference
567
+
568
+ **Commands (for SpecWeave development)**:
569
+ - `/specweave.inc "feature"` - Plan new increment
570
+ - `/specweave.do` - Execute tasks (smart resume)
571
+ - `/specweave.progress` - Check status
572
+ - `/specweave.validate 0002` - Validate increment
573
+ - `/specweave.done 0002` - Close increment
574
+ - `/sync-docs update` - Sync living docs
575
+
576
+ **Build & Test**:
577
+ - `npm run build` - Compile TypeScript
578
+ - `npm test` - Run all unit tests
579
+ - `npm run test:e2e` - Run Playwright E2E tests
580
+ - `npm run test:integration` - Run integration tests
581
+ - `npm run install:all` - Sync src/ to .claude/
582
+
583
+ **File Structure**:
584
+ - Source of truth: `src/`
585
+ - Installed: `.claude/`
586
+ - Increments: `.specweave/increments/`
587
+ - Docs: `.specweave/docs/` and `docs-site/`
588
+ - Tests: `tests/`
589
+
590
+ ---
591
+
592
+ **Remember**:
593
+ 1. Edit source files in `src/`, not `.claude/`
594
+ 2. Keep root folder clean (use increment folders)
595
+ 3. Test before committing (E2E + unit + integration)
596
+ 4. Update docs when structure changes
597
+ 5. Follow increment-based workflow
598
+
599
+ **SpecWeave Documentation**: https://spec-weave.com
600
+ **Last Updated**: 2025-10-28 (Increment 0002)