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,118 @@
1
+ # ADR 0001: [Decision Title]
2
+
3
+ **Status**: draft | review | approved | deprecated
4
+ **Author**: [Your Name]
5
+ **Created**: YYYY-MM-DD
6
+ **Last Updated**: YYYY-MM-DD
7
+ **Reviewers**: @architect, @tech-lead
8
+
9
+ ---
10
+
11
+ ## Status
12
+
13
+ **Current**: draft | review | approved | deprecated
14
+
15
+ **If deprecated**:
16
+ - **Superseded by**: [Link to new ADR]
17
+ - **Reason**: Why this decision was changed
18
+
19
+ ## Context
20
+
21
+ **What's the situation?**
22
+
23
+ Describe the context and background:
24
+ - What problem are we solving?
25
+ - What constraints exist?
26
+ - What are the requirements?
27
+ - Who are the stakeholders?
28
+
29
+ ## Decision
30
+
31
+ **What did we decide?**
32
+
33
+ Clearly state the decision made:
34
+ - What are we doing?
35
+ - How are we implementing it?
36
+ - What technology/approach are we using?
37
+
38
+ **Example**:
39
+ > We will use **Next.js** as our frontend framework for the web application.
40
+
41
+ ### Architecture Diagram (Optional)
42
+
43
+ **Diagram File**: `0001-{decision-title}.context.mmd` (co-located with this file)
44
+
45
+ If the decision involves architecture changes, include a diagram:
46
+
47
+ ```mermaid
48
+ graph TB
49
+ Client[Client] --> NextJS[Next.js App]
50
+ NextJS --> API[API Server]
51
+ API --> DB[(Database)]
52
+ ```
53
+
54
+ **See**: [Diagram Conventions](../delivery/guides/diagram-conventions-comprehensive.md) for best practices.
55
+
56
+ ## Consequences
57
+
58
+ **What's the impact?**
59
+
60
+ ### Positive Consequences ✅
61
+ - **Pro 1**: Benefit of this decision
62
+ - **Pro 2**: Benefit of this decision
63
+ - **Pro 3**: Benefit of this decision
64
+
65
+ ### Negative Consequences ❌
66
+ - **Con 1**: Drawback of this decision
67
+ - **Con 2**: Drawback of this decision
68
+ - **Con 3**: Drawback of this decision
69
+
70
+ ### Neutral Consequences
71
+ - **Impact 1**: Neither positive nor negative
72
+ - **Impact 2**: Neither positive nor negative
73
+
74
+ ## Alternatives Considered
75
+
76
+ **What else did we consider?**
77
+
78
+ ### Alternative 1: [Name]
79
+ - **Description**: What is it?
80
+ - **Pros**: Benefits
81
+ - **Cons**: Drawbacks
82
+ - **Why not chosen**: Reason we didn't select this
83
+
84
+ ### Alternative 2: [Name]
85
+ - **Description**: What is it?
86
+ - **Pros**: Benefits
87
+ - **Cons**: Drawbacks
88
+ - **Why not chosen**: Reason we didn't select this
89
+
90
+ ### Alternative 3: [Name]
91
+ - **Description**: What is it?
92
+ - **Pros**: Benefits
93
+ - **Cons**: Drawbacks
94
+ - **Why not chosen**: Reason we didn't select this
95
+
96
+ ## References
97
+
98
+ **Related documentation and resources**
99
+
100
+ - [PRD: Product Requirements](../../strategy/prd-{feature}.md)
101
+ - [HLD: System Design](../hld-{system}.md)
102
+ - [RFC: API Design](../rfc/0001-{feature}.md)
103
+ - External resources: Links to articles, documentation, etc.
104
+
105
+ ## Notes
106
+
107
+ **Additional context**
108
+
109
+ - Discussion notes
110
+ - Meeting decisions
111
+ - Future considerations
112
+
113
+ ---
114
+
115
+ **Approval**:
116
+ - [ ] Architect: @name
117
+ - [ ] Tech Lead: @name
118
+ - [ ] Security (if applicable): @name
@@ -0,0 +1,220 @@
1
+ # HLD: [System Name]
2
+
3
+ **Status**: draft | review | approved | deprecated
4
+ **Author**: [Your Name]
5
+ **Created**: YYYY-MM-DD
6
+ **Last Updated**: YYYY-MM-DD
7
+ **Reviewers**: @architect, @tech-lead
8
+
9
+ ---
10
+
11
+ ## Context
12
+
13
+ **Why does this system exist?**
14
+
15
+ Link to the business requirements and explain the context:
16
+ - **PRD**: [Link to PRD](../strategy/prd-{feature}.md)
17
+ - **Business Problem**: What are we solving?
18
+ - **Goals**: What are we trying to achieve?
19
+
20
+ ## Requirements (Functional / Non-functional)
21
+
22
+ ### Functional Requirements
23
+ - **FR1**: Feature requirement 1
24
+ - **FR2**: Feature requirement 2
25
+ - **FR3**: Feature requirement 3
26
+
27
+ ### Non-Functional Requirements
28
+ - **Performance**: <XXms latency, XX req/sec throughput
29
+ - **Scalability**: Support XX concurrent users
30
+ - **Availability**: XX% uptime (SLO)
31
+ - **Reliability**: < XX errors per million requests
32
+ - **Security**: Authentication, authorization, encryption
33
+ - **Compliance**: GDPR, HIPAA, SOC 2, etc.
34
+
35
+ ## Architecture Overview (diagram)
36
+
37
+ **High-level component diagram**
38
+
39
+ **Diagram File**: `hld-{system-name}.context.mmd` (co-located with this file)
40
+
41
+ ```mermaid
42
+ graph TB
43
+ Client[Client Application]
44
+ API[API Gateway]
45
+ Service1[Service 1]
46
+ Service2[Service 2]
47
+ DB[(Database)]
48
+ Cache[(Cache)]
49
+
50
+ Client --> API
51
+ API --> Service1
52
+ API --> Service2
53
+ Service1 --> DB
54
+ Service2 --> DB
55
+ Service1 --> Cache
56
+ Service2 --> Cache
57
+ ```
58
+
59
+ **Component Description**:
60
+ - **Client Application**: Web/mobile app
61
+ - **API Gateway**: Entry point, authentication, rate limiting
62
+ - **Service 1**: Core business logic
63
+ - **Service 2**: Secondary service
64
+ - **Database**: PostgreSQL, primary data store
65
+ - **Cache**: Redis, caching layer
66
+
67
+ **Related Diagrams**:
68
+ - `hld-{system-name}.context.mmd` - System context (this diagram)
69
+ - `hld-{system-name}.sequence-auth.mmd` - Authentication flow
70
+ - `hld-{system-name}.entity.mmd` - Data model
71
+
72
+ **See**: [Diagram Conventions](../delivery/guides/diagram-conventions-comprehensive.md) for best practices.
73
+
74
+ ## Data Model
75
+
76
+ **Entities and relationships**
77
+
78
+ ```mermaid
79
+ erDiagram
80
+ USER ||--o{ ORDER : places
81
+ ORDER ||--|{ ORDER_ITEM : contains
82
+ ORDER_ITEM }|--|| PRODUCT : references
83
+
84
+ USER {
85
+ uuid id PK
86
+ string email
87
+ string name
88
+ timestamp created_at
89
+ }
90
+
91
+ ORDER {
92
+ uuid id PK
93
+ uuid user_id FK
94
+ decimal total
95
+ string status
96
+ timestamp created_at
97
+ }
98
+
99
+ ORDER_ITEM {
100
+ uuid id PK
101
+ uuid order_id FK
102
+ uuid product_id FK
103
+ int quantity
104
+ decimal price
105
+ }
106
+
107
+ PRODUCT {
108
+ uuid id PK
109
+ string name
110
+ decimal price
111
+ int stock
112
+ }
113
+ ```
114
+
115
+ **Schema Details**:
116
+ - **Users**: User accounts, authentication
117
+ - **Orders**: Purchase orders
118
+ - **Order Items**: Line items in orders
119
+ - **Products**: Product catalog
120
+
121
+ ## Integrations
122
+
123
+ **External systems and APIs**
124
+
125
+ ### External Services
126
+ - **Stripe**: Payment processing
127
+ - **Integration**: REST API
128
+ - **Authentication**: API key
129
+ - **Data Shared**: Payment details, customer info
130
+
131
+ - **SendGrid**: Email delivery
132
+ - **Integration**: REST API
133
+ - **Authentication**: API key
134
+ - **Data Shared**: Email addresses, templates
135
+
136
+ ### Internal Services
137
+ - **Auth Service**: Authentication/authorization
138
+ - **Notification Service**: Email, SMS, push notifications
139
+
140
+ ## Security & Privacy
141
+
142
+ ### Authentication
143
+ - **Method**: OAuth 2.0, JWT tokens
144
+ - **MFA**: Optional multi-factor authentication
145
+ - **Session Management**: 24-hour token expiry
146
+
147
+ ### Authorization
148
+ - **Model**: Role-Based Access Control (RBAC)
149
+ - **Roles**: Admin, User, Guest
150
+ - **Permissions**: Resource-level permissions
151
+
152
+ ### Data Encryption
153
+ - **In Transit**: TLS 1.3
154
+ - **At Rest**: AES-256 encryption
155
+ - **Secrets Management**: HashiCorp Vault / AWS Secrets Manager
156
+
157
+ ### Compliance
158
+ - **GDPR**: User data deletion, consent management
159
+ - **HIPAA**: (if applicable) PHI handling
160
+ - **SOC 2**: Access controls, audit logging
161
+
162
+ ## Scaling & Capacity
163
+
164
+ ### Performance Targets
165
+ - **Latency**: p95 < 200ms, p99 < 500ms
166
+ - **Throughput**: 1000 req/sec
167
+ - **Concurrent Users**: 10,000
168
+
169
+ ### Scaling Strategy
170
+ - **Horizontal Scaling**: Auto-scaling groups
171
+ - **Database**: Read replicas, connection pooling
172
+ - **Caching**: Redis for frequently accessed data
173
+ - **CDN**: CloudFlare for static assets
174
+
175
+ ### Capacity Planning
176
+ - **Current**: XXX users, XXX req/sec
177
+ - **6 months**: XXX users, XXX req/sec
178
+ - **12 months**: XXX users, XXX req/sec
179
+
180
+ ## Trade-offs
181
+
182
+ **Design compromises and rationale**
183
+
184
+ ### Trade-off 1: [Decision]
185
+ - **Choice**: What we chose
186
+ - **Alternative**: What we didn't choose
187
+ - **Reason**: Why we made this choice
188
+ - **Impact**: Consequences
189
+
190
+ ### Trade-off 2: [Decision]
191
+ - **Choice**: What we chose
192
+ - **Alternative**: What we didn't choose
193
+ - **Reason**: Why we made this choice
194
+ - **Impact**: Consequences
195
+
196
+ ## Open Questions
197
+
198
+ **Unresolved issues**
199
+
200
+ - [ ] **Q1**: Question about X?
201
+ - **Owner**: @name
202
+ - **Due Date**: YYYY-MM-DD
203
+
204
+ - [ ] **Q2**: Question about Y?
205
+ - **Owner**: @name
206
+ - **Due Date**: YYYY-MM-DD
207
+
208
+ ## Related Documentation
209
+
210
+ - [PRD: Product Requirements](../strategy/prd-{feature}.md)
211
+ - [ADR: Architecture Decisions](adr/)
212
+ - [RFC: API Specifications](rfc/)
213
+ - [Runbook: Operations](../operations/runbook-{service}.md)
214
+
215
+ ---
216
+
217
+ **Approval**:
218
+ - [ ] Architect: @name
219
+ - [ ] Tech Lead: @name
220
+ - [ ] Security: @name