specweave 0.1.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 (288) hide show
  1. package/INSTALL.md +848 -0
  2. package/LICENSE +21 -0
  3. package/README.md +675 -0
  4. package/SPECWEAVE.md +665 -0
  5. package/bin/install-agents.sh +57 -0
  6. package/bin/install-all.sh +49 -0
  7. package/bin/install-commands.sh +56 -0
  8. package/bin/install-skills.sh +57 -0
  9. package/bin/specweave.js +81 -0
  10. package/dist/adapters/adapter-base.d.ts +50 -0
  11. package/dist/adapters/adapter-base.d.ts.map +1 -0
  12. package/dist/adapters/adapter-base.js +146 -0
  13. package/dist/adapters/adapter-base.js.map +1 -0
  14. package/dist/adapters/adapter-interface.d.ts +108 -0
  15. package/dist/adapters/adapter-interface.d.ts.map +1 -0
  16. package/dist/adapters/adapter-interface.js +9 -0
  17. package/dist/adapters/adapter-interface.js.map +1 -0
  18. package/dist/adapters/claude/adapter.d.ts +54 -0
  19. package/dist/adapters/claude/adapter.d.ts.map +1 -0
  20. package/dist/adapters/claude/adapter.js +184 -0
  21. package/dist/adapters/claude/adapter.js.map +1 -0
  22. package/dist/adapters/copilot/adapter.d.ts +42 -0
  23. package/dist/adapters/copilot/adapter.d.ts.map +1 -0
  24. package/dist/adapters/copilot/adapter.js +239 -0
  25. package/dist/adapters/copilot/adapter.js.map +1 -0
  26. package/dist/adapters/cursor/adapter.d.ts +42 -0
  27. package/dist/adapters/cursor/adapter.d.ts.map +1 -0
  28. package/dist/adapters/cursor/adapter.js +297 -0
  29. package/dist/adapters/cursor/adapter.js.map +1 -0
  30. package/dist/adapters/generic/adapter.d.ts +40 -0
  31. package/dist/adapters/generic/adapter.d.ts.map +1 -0
  32. package/dist/adapters/generic/adapter.js +155 -0
  33. package/dist/adapters/generic/adapter.js.map +1 -0
  34. package/dist/cli/commands/init.d.ts +6 -0
  35. package/dist/cli/commands/init.d.ts.map +1 -0
  36. package/dist/cli/commands/init.js +247 -0
  37. package/dist/cli/commands/init.js.map +1 -0
  38. package/dist/cli/commands/install.d.ts +7 -0
  39. package/dist/cli/commands/install.d.ts.map +1 -0
  40. package/dist/cli/commands/install.js +160 -0
  41. package/dist/cli/commands/install.js.map +1 -0
  42. package/dist/cli/commands/list.d.ts +6 -0
  43. package/dist/cli/commands/list.d.ts.map +1 -0
  44. package/dist/cli/commands/list.js +154 -0
  45. package/dist/cli/commands/list.js.map +1 -0
  46. package/package.json +90 -0
  47. package/src/adapters/README.md +312 -0
  48. package/src/adapters/adapter-base.ts +146 -0
  49. package/src/adapters/adapter-interface.ts +120 -0
  50. package/src/adapters/claude/README.md +241 -0
  51. package/src/adapters/claude/adapter.ts +157 -0
  52. package/src/adapters/copilot/.github/copilot/instructions.md +376 -0
  53. package/src/adapters/copilot/README.md +200 -0
  54. package/src/adapters/copilot/adapter.ts +210 -0
  55. package/src/adapters/cursor/.cursor/context/docs-context.md +62 -0
  56. package/src/adapters/cursor/.cursor/context/increments-context.md +71 -0
  57. package/src/adapters/cursor/.cursor/context/strategy-context.md +73 -0
  58. package/src/adapters/cursor/.cursor/context/tests-context.md +89 -0
  59. package/src/adapters/cursor/.cursorrules +325 -0
  60. package/src/adapters/cursor/README.md +243 -0
  61. package/src/adapters/cursor/adapter.ts +268 -0
  62. package/src/adapters/generic/README.md +277 -0
  63. package/src/adapters/generic/SPECWEAVE-MANUAL.md +676 -0
  64. package/src/adapters/generic/adapter.ts +159 -0
  65. package/src/adapters/registry.yaml +126 -0
  66. package/src/agents/architect/AGENT.md +416 -0
  67. package/src/agents/devops/AGENT.md +1738 -0
  68. package/src/agents/docs-writer/AGENT.md +239 -0
  69. package/src/agents/performance/AGENT.md +228 -0
  70. package/src/agents/pm/AGENT.md +751 -0
  71. package/src/agents/qa-lead/AGENT.md +150 -0
  72. package/src/agents/security/AGENT.md +179 -0
  73. package/src/agents/sre/AGENT.md +582 -0
  74. package/src/agents/sre/modules/backend-diagnostics.md +481 -0
  75. package/src/agents/sre/modules/database-diagnostics.md +509 -0
  76. package/src/agents/sre/modules/infrastructure.md +561 -0
  77. package/src/agents/sre/modules/monitoring.md +439 -0
  78. package/src/agents/sre/modules/security-incidents.md +421 -0
  79. package/src/agents/sre/modules/ui-diagnostics.md +302 -0
  80. package/src/agents/sre/playbooks/01-high-cpu-usage.md +204 -0
  81. package/src/agents/sre/playbooks/02-database-deadlock.md +241 -0
  82. package/src/agents/sre/playbooks/03-memory-leak.md +252 -0
  83. package/src/agents/sre/playbooks/04-slow-api-response.md +269 -0
  84. package/src/agents/sre/playbooks/05-ddos-attack.md +293 -0
  85. package/src/agents/sre/playbooks/06-disk-full.md +314 -0
  86. package/src/agents/sre/playbooks/07-service-down.md +333 -0
  87. package/src/agents/sre/playbooks/08-data-corruption.md +337 -0
  88. package/src/agents/sre/playbooks/09-cascade-failure.md +430 -0
  89. package/src/agents/sre/playbooks/10-rate-limit-exceeded.md +464 -0
  90. package/src/agents/sre/scripts/health-check.sh +230 -0
  91. package/src/agents/sre/scripts/log-analyzer.py +213 -0
  92. package/src/agents/sre/scripts/metrics-collector.sh +294 -0
  93. package/src/agents/sre/scripts/trace-analyzer.js +257 -0
  94. package/src/agents/sre/templates/incident-report.md +249 -0
  95. package/src/agents/sre/templates/mitigation-plan.md +375 -0
  96. package/src/agents/sre/templates/post-mortem.md +418 -0
  97. package/src/agents/sre/templates/runbook-template.md +412 -0
  98. package/src/agents/tech-lead/AGENT.md +263 -0
  99. package/src/commands/add-tasks.md +176 -0
  100. package/src/commands/close-increment.md +347 -0
  101. package/src/commands/create-increment.md +223 -0
  102. package/src/commands/create-project.md +528 -0
  103. package/src/commands/generate-docs.md +623 -0
  104. package/src/commands/list-increments.md +180 -0
  105. package/src/commands/review-docs.md +331 -0
  106. package/src/commands/start-increment.md +139 -0
  107. package/src/commands/sync-github.md +115 -0
  108. package/src/commands/validate-increment.md +800 -0
  109. package/src/hooks/README.md +252 -0
  110. package/src/hooks/docs-changed.sh +59 -0
  111. package/src/hooks/human-input-required.sh +55 -0
  112. package/src/hooks/post-task-completion.sh +57 -0
  113. package/src/hooks/pre-implementation.sh +47 -0
  114. package/src/skills/ado-sync/README.md +449 -0
  115. package/src/skills/ado-sync/SKILL.md +245 -0
  116. package/src/skills/ado-sync/test-cases/test-1.yaml +9 -0
  117. package/src/skills/ado-sync/test-cases/test-2.yaml +8 -0
  118. package/src/skills/ado-sync/test-cases/test-3.yaml +9 -0
  119. package/src/skills/bmad-method-expert/SKILL.md +628 -0
  120. package/src/skills/bmad-method-expert/scripts/analyze-project.js +318 -0
  121. package/src/skills/bmad-method-expert/scripts/check-setup.js +208 -0
  122. package/src/skills/bmad-method-expert/scripts/generate-template.js +1149 -0
  123. package/src/skills/bmad-method-expert/scripts/validate-documents.js +340 -0
  124. package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +12 -0
  125. package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +12 -0
  126. package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +12 -0
  127. package/src/skills/brownfield-analyzer/SKILL.md +523 -0
  128. package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +48 -0
  129. package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +12 -0
  130. package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +12 -0
  131. package/src/skills/brownfield-onboarder/SKILL.md +625 -0
  132. package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +12 -0
  133. package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +12 -0
  134. package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +12 -0
  135. package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +12 -0
  136. package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +12 -0
  137. package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +12 -0
  138. package/src/skills/context-loader/SKILL.md +734 -0
  139. package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +39 -0
  140. package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +44 -0
  141. package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +45 -0
  142. package/src/skills/context-optimizer/SKILL.md +618 -0
  143. package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +97 -0
  144. package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +109 -0
  145. package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +98 -0
  146. package/src/skills/cost-optimizer/SKILL.md +190 -0
  147. package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +75 -0
  148. package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +52 -0
  149. package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +63 -0
  150. package/src/skills/cost-optimizer/test-results/README.md +46 -0
  151. package/src/skills/design-system-architect/SKILL.md +107 -0
  152. package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +23 -0
  153. package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +24 -0
  154. package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +23 -0
  155. package/src/skills/diagrams-architect/SKILL.md +763 -0
  156. package/src/skills/diagrams-generator/SKILL.md +25 -0
  157. package/src/skills/diagrams-generator/test-cases/test-1.yaml +9 -0
  158. package/src/skills/diagrams-generator/test-cases/test-2.yaml +9 -0
  159. package/src/skills/diagrams-generator/test-cases/test-3.yaml +8 -0
  160. package/src/skills/docs-updater/README.md +48 -0
  161. package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +12 -0
  162. package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +12 -0
  163. package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +12 -0
  164. package/src/skills/dotnet-backend/SKILL.md +250 -0
  165. package/src/skills/e2e-playwright/README.md +506 -0
  166. package/src/skills/e2e-playwright/SKILL.md +457 -0
  167. package/src/skills/e2e-playwright/execute.js +373 -0
  168. package/src/skills/e2e-playwright/lib/utils.js +514 -0
  169. package/src/skills/e2e-playwright/package.json +33 -0
  170. package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +54 -0
  171. package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +64 -0
  172. package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +74 -0
  173. package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +98 -0
  174. package/src/skills/figma-designer/SKILL.md +149 -0
  175. package/src/skills/figma-implementer/SKILL.md +148 -0
  176. package/src/skills/figma-mcp-connector/SKILL.md +136 -0
  177. package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +22 -0
  178. package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +21 -0
  179. package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +18 -0
  180. package/src/skills/figma-to-code/SKILL.md +128 -0
  181. package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +29 -0
  182. package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +27 -0
  183. package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +28 -0
  184. package/src/skills/frontend/SKILL.md +177 -0
  185. package/src/skills/github-sync/SKILL.md +252 -0
  186. package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +12 -0
  187. package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +12 -0
  188. package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +12 -0
  189. package/src/skills/hetzner-provisioner/README.md +308 -0
  190. package/src/skills/hetzner-provisioner/SKILL.md +251 -0
  191. package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +71 -0
  192. package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +85 -0
  193. package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +126 -0
  194. package/src/skills/hetzner-provisioner/test-results/README.md +259 -0
  195. package/src/skills/increment-planner/SKILL.md +889 -0
  196. package/src/skills/increment-planner/scripts/feature-utils.js +250 -0
  197. package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +27 -0
  198. package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +30 -0
  199. package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +24 -0
  200. package/src/skills/increment-quality-judge/SKILL.md +566 -0
  201. package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +95 -0
  202. package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +108 -0
  203. package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +87 -0
  204. package/src/skills/jira-sync/README.md +328 -0
  205. package/src/skills/jira-sync/SKILL.md +209 -0
  206. package/src/skills/jira-sync/test-cases/test-1.yaml +9 -0
  207. package/src/skills/jira-sync/test-cases/test-2.yaml +9 -0
  208. package/src/skills/jira-sync/test-cases/test-3.yaml +10 -0
  209. package/src/skills/nextjs/SKILL.md +176 -0
  210. package/src/skills/nodejs-backend/SKILL.md +181 -0
  211. package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +12 -0
  212. package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +12 -0
  213. package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +12 -0
  214. package/src/skills/python-backend/SKILL.md +226 -0
  215. package/src/skills/role-orchestrator/README.md +197 -0
  216. package/src/skills/role-orchestrator/SKILL.md +1184 -0
  217. package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +98 -0
  218. package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +73 -0
  219. package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +121 -0
  220. package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +145 -0
  221. package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +149 -0
  222. package/src/skills/skill-creator/LICENSE.txt +202 -0
  223. package/src/skills/skill-creator/SKILL.md +209 -0
  224. package/src/skills/skill-creator/scripts/init_skill.py +303 -0
  225. package/src/skills/skill-creator/scripts/package_skill.py +110 -0
  226. package/src/skills/skill-creator/scripts/quick_validate.py +65 -0
  227. package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +12 -0
  228. package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +12 -0
  229. package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +12 -0
  230. package/src/skills/skill-router/SKILL.md +497 -0
  231. package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +33 -0
  232. package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +42 -0
  233. package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +50 -0
  234. package/src/skills/spec-driven-brainstorming/README.md +264 -0
  235. package/src/skills/spec-driven-brainstorming/SKILL.md +439 -0
  236. package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +148 -0
  237. package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +190 -0
  238. package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +233 -0
  239. package/src/skills/spec-driven-debugging/README.md +479 -0
  240. package/src/skills/spec-driven-debugging/SKILL.md +652 -0
  241. package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +212 -0
  242. package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +461 -0
  243. package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +366 -0
  244. package/src/skills/spec-kit-expert/SKILL.md +1012 -0
  245. package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +12 -0
  246. package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +12 -0
  247. package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +12 -0
  248. package/src/skills/specweave-ado-mapper/SKILL.md +501 -0
  249. package/src/skills/specweave-detector/SKILL.md +420 -0
  250. package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +37 -0
  251. package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +37 -0
  252. package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +34 -0
  253. package/src/skills/specweave-jira-mapper/SKILL.md +500 -0
  254. package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +12 -0
  255. package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +12 -0
  256. package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +12 -0
  257. package/src/skills/task-builder/README.md +90 -0
  258. package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +12 -0
  259. package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +12 -0
  260. package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +12 -0
  261. package/src/templates/.env.example +144 -0
  262. package/src/templates/.gitignore.template +81 -0
  263. package/src/templates/CLAUDE.md.template +383 -0
  264. package/src/templates/README.md.template +240 -0
  265. package/src/templates/config.yaml +333 -0
  266. package/src/templates/docs/README.md +124 -0
  267. package/src/templates/docs/adr-template.md +118 -0
  268. package/src/templates/docs/hld-template.md +220 -0
  269. package/src/templates/docs/lld-template.md +580 -0
  270. package/src/templates/docs/prd-template.md +132 -0
  271. package/src/templates/docs/rfc-template.md +229 -0
  272. package/src/templates/docs/runbook-template.md +298 -0
  273. package/src/templates/environments/minimal/.env.production +16 -0
  274. package/src/templates/environments/minimal/README.md +54 -0
  275. package/src/templates/environments/minimal/deploy-production.yml +52 -0
  276. package/src/templates/environments/progressive/.env.qa +28 -0
  277. package/src/templates/environments/progressive/README.md +129 -0
  278. package/src/templates/environments/progressive/deploy-production.yml +93 -0
  279. package/src/templates/environments/progressive/deploy-qa.yml +62 -0
  280. package/src/templates/environments/progressive/deploy-staging.yml +67 -0
  281. package/src/templates/environments/standard/.env.development +20 -0
  282. package/src/templates/environments/standard/.env.production +30 -0
  283. package/src/templates/environments/standard/.env.staging +23 -0
  284. package/src/templates/environments/standard/README.md +97 -0
  285. package/src/templates/environments/standard/deploy-production.yml +68 -0
  286. package/src/templates/environments/standard/deploy-staging.yml +61 -0
  287. package/src/templates/environments/standard/docker-compose.yml +43 -0
  288. package/src/templates/increment-metadata-template.yaml +138 -0
@@ -0,0 +1,523 @@
1
+ ---
2
+ name: brownfield-analyzer
3
+ description: Analyzes existing brownfield projects to map documentation structure to SpecWeave's PRD/HLD/RFC/Runbook pattern. Scans folders, classifies documents, detects external tools (Jira, ADO, GitHub), and generates migration plan. Activates for brownfield, existing project, migrate, analyze structure, legacy documentation.
4
+ ---
5
+
6
+ # Brownfield Analyzer Skill
7
+
8
+ **Purpose**: Analyze existing brownfield projects and generate a migration plan to SpecWeave's PRD/HLD/RFC/Runbook pattern.
9
+
10
+ **When to Use**: When onboarding an existing project to SpecWeave.
11
+
12
+ ---
13
+
14
+ ## Capabilities
15
+
16
+ 1. **Scan Project Structure** - Recursively scan folders for documentation
17
+ 2. **Classify Documents** - Identify PRD, HLD, ADR, RFC, Runbook candidates
18
+ 3. **Detect External Tools** - Find Jira, ADO, GitHub project references
19
+ 4. **Analyze Diagrams** - Identify architecture diagrams (PNG, SVG, drawio)
20
+ 5. **Generate Migration Plan** - Create actionable migration plan with effort estimate
21
+ 6. **Suggest Increment Mapping** - Map Jira Epics/ADO Features to SpecWeave Increments
22
+
23
+ ---
24
+
25
+ ## Activation Triggers
26
+
27
+ **Keywords**: brownfield, existing project, legacy, migrate, analyze, scan, documentation structure, existing documentation
28
+
29
+ **User Requests**:
30
+ - "Analyze my existing project"
31
+ - "I have a legacy codebase with scattered documentation"
32
+ - "Migrate my project to SpecWeave"
33
+ - "Scan my documentation and suggest structure"
34
+ - "I have Jira epics I want to map to SpecWeave"
35
+
36
+ ---
37
+
38
+ ## Analysis Process
39
+
40
+ ### Step 1: Initial Scan
41
+
42
+ **Scan these patterns**:
43
+ ```
44
+ docs/**/*.md
45
+ documentation/**/*.md
46
+ wiki/**/*.md
47
+ architecture/**/*.{md,png,svg,drawio}
48
+ runbooks/**/*.md
49
+ **/*spec*.{md,yaml,json}
50
+ **/*design*.md
51
+ **/*decision*.md
52
+ **/*adr*.md
53
+ **/*rfc*.md
54
+ **/README.md
55
+ ```
56
+
57
+ **Exclude**:
58
+ ```
59
+ node_modules/**
60
+ vendor/**
61
+ dist/**
62
+ build/**
63
+ .git/**
64
+ ```
65
+
66
+ ### Step 2: Document Classification
67
+
68
+ **Classify each document** using these rules:
69
+
70
+ #### PRD Candidates (Strategy)
71
+ **Indicators**:
72
+ - Filenames: `*requirement*`, `*spec*`, `*product*`, `*feature*`, `*prd*`
73
+ - Content keywords: "user story", "acceptance criteria", "success metrics", "business goal", "target users"
74
+ - Section headers: "Problem", "Requirements", "User Stories", "Acceptance Criteria"
75
+
76
+ **Output**: `prd-{name}.md` → `docs/internal/strategy/`
77
+
78
+ #### HLD Candidates (Architecture)
79
+ **Indicators**:
80
+ - Filenames: `*architecture*`, `*design*`, `*system*`, `*hld*`
81
+ - Content keywords: "component diagram", "data model", "system design", "architecture overview"
82
+ - Section headers: "Architecture", "Components", "Data Model", "Integrations"
83
+ - Diagrams present (PNG, SVG, Mermaid)
84
+
85
+ **Output**: `hld-{system}.md` → `docs/internal/architecture/`
86
+
87
+ #### ADR Candidates (Architecture Decisions)
88
+ **Indicators**:
89
+ - Filenames: `*decision*`, `*adr*`, `*choice*`
90
+ - Content keywords: "we decided", "rationale", "alternatives considered", "consequences"
91
+ - Section headers: "Decision", "Context", "Consequences", "Alternatives"
92
+ - Sequential numbering (0001, 0002, etc.)
93
+
94
+ **Output**: `0001-{decision}.md` → `docs/internal/architecture/adr/`
95
+
96
+ #### RFC Candidates (API/Schema Design)
97
+ **Indicators**:
98
+ - Filenames: `*api*`, `*rfc*`, `*proposal*`, `*spec*`
99
+ - Content keywords: "API design", "endpoint", "schema", "request/response", "OpenAPI"
100
+ - File formats: `.yaml`, `.json`, `.openapi`
101
+ - Section headers: "API", "Endpoints", "Schema", "Data Flow"
102
+
103
+ **Output**: `0001-{feature}.md` → `docs/internal/architecture/rfc/`
104
+
105
+ #### Runbook Candidates (Operations)
106
+ **Indicators**:
107
+ - Filenames: `*runbook*`, `*playbook*`, `*ops*`, `*operation*`, `*sop*`
108
+ - Content keywords: "procedure", "step-by-step", "troubleshooting", "incident", "monitoring"
109
+ - Section headers: "Procedures", "Common Failures", "Diagnostics", "SLO", "Escalation"
110
+
111
+ **Output**: `runbook-{service}.md` → `docs/internal/operations/`
112
+
113
+ #### Governance Candidates
114
+ **Indicators**:
115
+ - Filenames: `*security*`, `*compliance*`, `*policy*`, `*governance*`, `*gdpr*`, `*hipaa*`
116
+ - Content keywords: "security policy", "compliance", "audit", "data retention", "privacy"
117
+
118
+ **Output**: `{topic}.md` → `docs/internal/governance/`
119
+
120
+ ### Step 3: External Tool Detection
121
+
122
+ **Scan for**:
123
+
124
+ #### Jira
125
+ **Patterns**:
126
+ - URLs: `https://*.atlassian.net/browse/*`
127
+ - Project keys: `[A-Z]+-\d+` (e.g., PROJ-123)
128
+ - Files: `.jira-config`, `jira.yaml`
129
+
130
+ **Extract**:
131
+ - Jira URL
132
+ - Project key
133
+ - Active Epics (via Jira API if credentials provided)
134
+
135
+ #### Azure DevOps
136
+ **Patterns**:
137
+ - URLs: `https://dev.azure.com/*`
138
+ - Work item IDs: `#\d+`
139
+ - Files: `azure-pipelines.yml`
140
+
141
+ **Extract**:
142
+ - ADO URL
143
+ - Project name
144
+ - Active Epics/Features
145
+
146
+ #### GitHub
147
+ **Patterns**:
148
+ - URLs: `https://github.com/*/*`
149
+ - Issue references: `#\d+`
150
+ - Files: `.github/`, `CODEOWNERS`
151
+
152
+ **Extract**:
153
+ - Repository
154
+ - Active Milestones
155
+ - Open Issues
156
+
157
+ ### Step 4: Diagram Analysis
158
+
159
+ **Identify diagrams**:
160
+ - PNG files in `architecture/`, `diagrams/`, `docs/`
161
+ - DrawIO files (`.drawio`)
162
+ - SVG files
163
+ - Mermaid diagrams (already in markdown)
164
+
165
+ **Conversion plan**:
166
+ - PNG/DrawIO → Suggest Mermaid conversion
167
+ - Estimate: 15-30 minutes per diagram
168
+
169
+ ### Step 5: Effort Estimation
170
+
171
+ **Calculate total effort**:
172
+
173
+ | Task | Effort per Item | Total Items | Total Hours |
174
+ |------|-----------------|-------------|-------------|
175
+ | Migrate documents | 5 min | X | Y |
176
+ | Convert diagrams | 20 min | X | Y |
177
+ | Number ADRs | 2 min | X | Y |
178
+ | Create metadata.yaml | 10 min | X | Y |
179
+ | Sync with Jira/ADO | 15 min | X | Y |
180
+ | Verification | - | - | 0.5 |
181
+ | **Total** | | | **Z hours** |
182
+
183
+ ---
184
+
185
+ ## Output: Analysis Report
186
+
187
+ **Generate markdown report**:
188
+
189
+ ```markdown
190
+ # Brownfield Analysis Report
191
+
192
+ **Project**: {project-name}
193
+ **Analyzed**: {date}
194
+ **Total Files Scanned**: {count}
195
+
196
+ ---
197
+
198
+ ## Executive Summary
199
+
200
+ - **Documentation Files**: {count} markdown files found
201
+ - **Diagrams**: {count} diagrams found ({png}, {drawio}, {svg})
202
+ - **External Tools**: {Jira/ADO/GitHub detected}
203
+ - **Suggested Increments**: {count} (based on {Jira Epics/ADO Features})
204
+ - **Estimated Migration Effort**: {hours} hours
205
+
206
+ ---
207
+
208
+ ## Existing Documentation Structure
209
+
210
+ ```
211
+ {project}/
212
+ ├── docs/
213
+ │ ├── requirements.md
214
+ │ ├── architecture.md
215
+ │ └── ... ({count} files)
216
+ ├── wiki/
217
+ │ └── ... ({count} files)
218
+ └── ...
219
+ ```
220
+
221
+ ---
222
+
223
+ ## Document Classification
224
+
225
+ ### Strategy Documents (PRD candidates)
226
+ - `docs/requirements/product-spec.md` → `docs/internal/strategy/prd-product.md`
227
+ - `wiki/feature-request.md` → `docs/internal/strategy/prd-feature.md`
228
+ - **Total**: {count} documents
229
+
230
+ ### Architecture Documents (HLD candidates)
231
+ - `docs/architecture/system-design.md` → `docs/internal/architecture/hld-system-overview.md`
232
+ - **Total**: {count} documents
233
+
234
+ ### Architecture Decision Records (ADR candidates)
235
+ - `docs/decisions/use-postgres.md` → `docs/internal/architecture/adr/0001-use-postgres.md`
236
+ - `docs/decisions/microservices.md` → `docs/internal/architecture/adr/0002-microservices.md`
237
+ - **Total**: {count} documents (will be numbered 0001-{count})
238
+
239
+ ### API Specifications (RFC candidates)
240
+ - `api-specs/booking-api.yaml` → `docs/internal/architecture/rfc/0001-booking-api.md`
241
+ - **Total**: {count} documents
242
+
243
+ ### Operations Documents (Runbook candidates)
244
+ - `runbooks/api-server.md` → `docs/internal/operations/runbook-api-server.md`
245
+ - **Total**: {count} documents
246
+
247
+ ### Governance Documents
248
+ - `docs/security-policy.md` → `docs/internal/governance/security-model.md`
249
+ - **Total**: {count} documents
250
+
251
+ ### Diagrams
252
+ - `architecture/system-diagram.png` → Convert to Mermaid (`hld-system-overview.context.mmd`)
253
+ - **Total**: {count} diagrams ({count} need conversion)
254
+
255
+ ---
256
+
257
+ ## External Tool Integration
258
+
259
+ ### Jira
260
+ - **URL**: https://company.atlassian.net
261
+ - **Project**: PROJ
262
+ - **Active Epics**: {count}
263
+ - PROJ-123: User Authentication
264
+ - PROJ-124: Payment Processing
265
+ - ... (list all)
266
+
267
+ **Suggested Mapping**:
268
+ - Epic PROJ-123 → Increment 0001-user-authentication
269
+ - Epic PROJ-124 → Increment 0002-payment-processing
270
+ - ... (one increment per epic)
271
+
272
+ ### Azure DevOps
273
+ - (if detected)
274
+
275
+ ### GitHub
276
+ - (if detected)
277
+
278
+ ---
279
+
280
+ ## Recommended Migration Plan
281
+
282
+ ### Phase 1: Structure Creation (15 minutes)
283
+ 1. Create `docs/internal/` structure (5 pillars)
284
+ 2. Create `docs/public/` structure
285
+ 3. Create `features/` directory
286
+
287
+ ### Phase 2: Document Migration ({X} hours)
288
+ 1. Migrate {count} PRD candidates → `docs/internal/strategy/`
289
+ 2. Migrate {count} HLD candidates → `docs/internal/architecture/`
290
+ 3. Migrate {count} ADR candidates → `docs/internal/architecture/adr/` (with numbering)
291
+ 4. Migrate {count} RFC candidates → `docs/internal/architecture/rfc/` (with numbering)
292
+ 5. Migrate {count} Runbook candidates → `docs/internal/operations/`
293
+ 6. Migrate {count} Governance docs → `docs/internal/governance/`
294
+
295
+ ### Phase 3: Diagram Conversion ({X} hours)
296
+ 1. Convert {count} PNG/DrawIO diagrams to Mermaid
297
+ 2. Co-locate diagrams with markdown files
298
+
299
+ ### Phase 4: Increment Creation ({X} hours)
300
+ 1. Create {count} increments (one per Jira Epic)
301
+ 2. Create `metadata.yaml` for each increment
302
+ 3. Link increments to related docs (PRD, HLD, ADR, RFC)
303
+
304
+ ### Phase 5: External Tool Sync ({X} hours)
305
+ 1. Configure `.specweave/config.yaml` with Jira/ADO credentials
306
+ 2. Run initial sync to link Epics → Increments
307
+ 3. Verify all Epics are mapped
308
+
309
+ ### Phase 6: Verification (30 minutes)
310
+ 1. Run `specweave verify`
311
+ 2. Review migration report
312
+ 3. Manual review of {count} documents flagged for attention
313
+
314
+ ---
315
+
316
+ ## Effort Estimate
317
+
318
+ | Phase | Estimated Hours |
319
+ |-------|-----------------|
320
+ | Structure Creation | 0.25 |
321
+ | Document Migration | {X} |
322
+ | Diagram Conversion | {Y} |
323
+ | Increment Creation | {Z} |
324
+ | External Tool Sync | {A} |
325
+ | Verification | 0.5 |
326
+ | **Total** | **{Total} hours** |
327
+
328
+ ---
329
+
330
+ ## Next Steps
331
+
332
+ 1. **Review this report** - Confirm document classifications
333
+ 2. **Adjust mappings** - Modify if document classifications are incorrect
334
+ 3. **Approve migration plan** - Confirm effort estimate
335
+ 4. **Execute migration**:
336
+ ```bash
337
+ specweave migrate --plan analysis-report.md --execute
338
+ ```
339
+ 5. **Enable sync** - Configure Jira/ADO sync in `.specweave/config.yaml`
340
+
341
+ ---
342
+
343
+ ## Questions for User
344
+
345
+ - [ ] Are document classifications correct?
346
+ - [ ] Should we sync with Jira/ADO/GitHub?
347
+ - [ ] Are Jira Epic → Increment mappings correct?
348
+ - [ ] Any documents to exclude from migration?
349
+ - [ ] Proceed with migration?
350
+
351
+ ---
352
+
353
+ ## Appendix: Full File List
354
+
355
+ ### PRD Candidates
356
+ 1. `docs/requirements/product-spec.md`
357
+ 2. ...
358
+
359
+ ### HLD Candidates
360
+ 1. `docs/architecture/system-design.md`
361
+ 2. ...
362
+
363
+ ### ADR Candidates
364
+ 1. `docs/decisions/use-postgres.md` → `0001-use-postgres.md`
365
+ 2. ...
366
+
367
+ (Full list of all classified documents)
368
+
369
+ ---
370
+
371
+ **End of Report**
372
+ ```
373
+
374
+ ---
375
+
376
+ ## User Interaction Flow
377
+
378
+ ### Initial Request
379
+ **User**: "Analyze my existing project at /path/to/project"
380
+
381
+ ### Your Response
382
+ ```
383
+ I'll analyze your existing project structure and generate a migration plan.
384
+
385
+ Scanning: /path/to/project
386
+
387
+ Found:
388
+ - 45 markdown files
389
+ - 8 diagrams
390
+ - Jira project detected (PROJ)
391
+
392
+ Analyzing... (this may take a moment)
393
+
394
+ ✅ Analysis complete!
395
+
396
+ I've generated a comprehensive analysis report. Here's the summary:
397
+
398
+ **Documentation**: 45 files classified
399
+ - PRD candidates: 3
400
+ - HLD candidates: 2
401
+ - ADR candidates: 8
402
+ - RFC candidates: 3
403
+ - Runbook candidates: 5
404
+ - Governance: 2
405
+
406
+ **Diagrams**: 8 diagrams (6 need Mermaid conversion)
407
+
408
+ **External Tools**: Jira project PROJ with 12 active epics
409
+
410
+ **Suggested**: Create 12 increments (one per Jira epic)
411
+
412
+ **Estimated Effort**: 3.5 hours
413
+
414
+ Would you like me to:
415
+ 1. Show the full analysis report?
416
+ 2. Proceed with migration?
417
+ 3. Adjust any classifications?
418
+ ```
419
+
420
+ ### After User Approval
421
+ ```
422
+ Great! I'll execute the migration plan.
423
+
424
+ Step 1: Creating docs/internal/ structure...
425
+ ✅ Structure created
426
+
427
+ Step 2: Migrating documents...
428
+ ✅ Migrated 3 PRD candidates → docs/internal/strategy/
429
+ ✅ Migrated 2 HLD candidates → docs/internal/architecture/
430
+ ✅ Migrated 8 ADR candidates → docs/internal/architecture/adr/ (numbered 0001-0008)
431
+ ✅ Migrated 3 RFC candidates → docs/internal/architecture/rfc/ (numbered 0001-0003)
432
+ ✅ Migrated 5 Runbooks → docs/internal/operations/
433
+ ✅ Migrated 2 Governance docs → docs/internal/governance/
434
+
435
+ Step 3: Converting diagrams...
436
+ ⏳ Converting 6 PNG/DrawIO diagrams to Mermaid...
437
+ ✅ Converted 6 diagrams
438
+
439
+ Step 4: Creating increments...
440
+ ✅ Created 12 increments (mapped to Jira epics)
441
+ ✅ Created metadata.yaml for each increment
442
+
443
+ Step 5: Syncing with Jira...
444
+ ✅ Linked 12 Jira epics to increments
445
+ ✅ Synced Epic statuses
446
+
447
+ Step 6: Verification...
448
+ ✅ All documents migrated
449
+ ✅ All diagrams converted
450
+ ✅ All epics mapped
451
+ ⚠️ 3 documents need manual review (see verification report)
452
+
453
+ Migration complete! 🎉
454
+
455
+ Your project is now using SpecWeave's PRD/HLD/RFC/Runbook pattern.
456
+
457
+ Next steps:
458
+ 1. Review migrated documents
459
+ 2. Run: mkdocs serve (to view documentation)
460
+ 3. Configure ongoing sync: specweave sync --daemon
461
+ ```
462
+
463
+ ---
464
+
465
+ ## Tool Usage
466
+
467
+ **When analyzing**:
468
+ - Use `Glob` to find files matching patterns
469
+ - Use `Read` to read document contents
470
+ - Use `Grep` to search for keywords
471
+
472
+ **Example**:
473
+ ```typescript
474
+ // Find all markdown files
475
+ glob("**/*.md", { exclude: ["node_modules/**", "dist/**"] })
476
+
477
+ // Read and analyze each file
478
+ for (file of files) {
479
+ content = read(file)
480
+ classify(content) // PRD, HLD, ADR, RFC, Runbook?
481
+ }
482
+ ```
483
+
484
+ ---
485
+
486
+ ## Configuration
487
+
488
+ **User can configure** scan patterns in `.specweave/config.yaml`:
489
+
490
+ ```yaml
491
+ brownfield:
492
+ analysis:
493
+ scan_patterns:
494
+ - "docs/**/*.md"
495
+ - "documentation/**/*.md"
496
+ - "wiki/**/*.md"
497
+ - "architecture/**/*.{md,png,svg,drawio}"
498
+ - "runbooks/**/*.md"
499
+ exclude_patterns:
500
+ - "node_modules/**"
501
+ - "vendor/**"
502
+ - "dist/**"
503
+ diagram_conversion:
504
+ enabled: true
505
+ formats:
506
+ - png
507
+ - drawio
508
+ - svg
509
+ ```
510
+
511
+ ---
512
+
513
+ ## Related Documentation
514
+
515
+ - [BROWNFIELD-INTEGRATION-STRATEGY.md](../../../docs/internal/delivery/BROWNFIELD-INTEGRATION-STRATEGY.md)
516
+ - [Tool Concept Mapping](../../../docs/internal/delivery/guides/tool-concept-mapping.md)
517
+ - [increment-metadata-template.yaml](../../../templates/increment-metadata-template.yaml)
518
+
519
+ ---
520
+
521
+ ## Test Cases
522
+
523
+ See `test-cases/` directory for validation scenarios.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: "Basic Brownfield Analysis"
3
+ description: "Tests if brownfield-analyzer can scan a simple project and classify documents"
4
+ input:
5
+ prompt: "Analyze the project at /sample/project with docs/ and wiki/ folders"
6
+ files:
7
+ - path: "/sample/project/docs/requirements.md"
8
+ content: |
9
+ # Product Requirements
10
+ ## User Story
11
+ As a user, I want to log in so I can access my account.
12
+ ## Acceptance Criteria
13
+ - User can log in with email and password
14
+ - path: "/sample/project/docs/architecture.md"
15
+ content: |
16
+ # System Architecture
17
+ ## Components
18
+ - API Gateway
19
+ - Auth Service
20
+ - Database
21
+ - path: "/sample/project/wiki/runbook.md"
22
+ content: |
23
+ # API Server Runbook
24
+ ## Procedures
25
+ ### Restart Service
26
+ 1. Stop service
27
+ 2. Wait 30 seconds
28
+ 3. Start service
29
+ expected_output:
30
+ type: "analysis_report"
31
+ contains:
32
+ - "Brownfield Analysis Report"
33
+ - "PRD candidates: 1"
34
+ - "HLD candidates: 1"
35
+ - "Runbook candidates: 1"
36
+ - "docs/requirements.md → docs/internal/strategy/prd-"
37
+ - "docs/architecture.md → docs/internal/architecture/hld-"
38
+ - "wiki/runbook.md → docs/internal/operations/runbook-"
39
+ validation:
40
+ - "Report generated successfully"
41
+ - "All 3 documents classified correctly"
42
+ - "Migration plan included"
43
+ - "Effort estimate provided"
44
+ success_criteria:
45
+ - "Analysis report contains all sections"
46
+ - "Document classifications are correct"
47
+ - "Migration plan is actionable"
48
+ ---
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: "Placeholder Test"
3
+ description: "TODO: Add actual test case for brownfield-analyzer"
4
+ input:
5
+ prompt: "Test prompt"
6
+ expected_output:
7
+ type: "validation"
8
+ validation:
9
+ - "Placeholder validation"
10
+ success_criteria:
11
+ - "Test passes"
12
+ ---
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: "Placeholder Test"
3
+ description: "TODO: Add actual test case for brownfield-analyzer"
4
+ input:
5
+ prompt: "Test prompt"
6
+ expected_output:
7
+ type: "validation"
8
+ validation:
9
+ - "Placeholder validation"
10
+ success_criteria:
11
+ - "Test passes"
12
+ ---