sdd-cli 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 (186) hide show
  1. package/README.md +566 -0
  2. package/dist/cli.d.ts +2 -0
  3. package/dist/cli.js +308 -0
  4. package/dist/commands/ai-exec.d.ts +1 -0
  5. package/dist/commands/ai-exec.js +18 -0
  6. package/dist/commands/ai-status.d.ts +1 -0
  7. package/dist/commands/ai-status.js +12 -0
  8. package/dist/commands/doctor.d.ts +1 -0
  9. package/dist/commands/doctor.js +101 -0
  10. package/dist/commands/gen-architecture.d.ts +1 -0
  11. package/dist/commands/gen-architecture.js +61 -0
  12. package/dist/commands/gen-best-practices.d.ts +1 -0
  13. package/dist/commands/gen-best-practices.js +64 -0
  14. package/dist/commands/gen-functional-spec.d.ts +1 -0
  15. package/dist/commands/gen-functional-spec.js +67 -0
  16. package/dist/commands/gen-project-readme.d.ts +1 -0
  17. package/dist/commands/gen-project-readme.js +72 -0
  18. package/dist/commands/gen-requirements.d.ts +1 -0
  19. package/dist/commands/gen-requirements.js +7 -0
  20. package/dist/commands/gen-technical-spec.d.ts +1 -0
  21. package/dist/commands/gen-technical-spec.js +67 -0
  22. package/dist/commands/gen-utils.d.ts +4 -0
  23. package/dist/commands/gen-utils.js +44 -0
  24. package/dist/commands/hello.d.ts +1 -0
  25. package/dist/commands/hello.js +63 -0
  26. package/dist/commands/init.d.ts +1 -0
  27. package/dist/commands/init.js +9 -0
  28. package/dist/commands/learn-deliver.d.ts +1 -0
  29. package/dist/commands/learn-deliver.js +55 -0
  30. package/dist/commands/learn-refine.d.ts +1 -0
  31. package/dist/commands/learn-refine.js +71 -0
  32. package/dist/commands/learn-start.d.ts +1 -0
  33. package/dist/commands/learn-start.js +63 -0
  34. package/dist/commands/learn-utils.d.ts +22 -0
  35. package/dist/commands/learn-utils.js +78 -0
  36. package/dist/commands/list.d.ts +1 -0
  37. package/dist/commands/list.js +69 -0
  38. package/dist/commands/pr-audit.d.ts +1 -0
  39. package/dist/commands/pr-audit.js +59 -0
  40. package/dist/commands/pr-finish.d.ts +1 -0
  41. package/dist/commands/pr-finish.js +51 -0
  42. package/dist/commands/pr-report.d.ts +1 -0
  43. package/dist/commands/pr-report.js +59 -0
  44. package/dist/commands/pr-respond.d.ts +1 -0
  45. package/dist/commands/pr-respond.js +65 -0
  46. package/dist/commands/pr-start.d.ts +1 -0
  47. package/dist/commands/pr-start.js +79 -0
  48. package/dist/commands/pr-utils.d.ts +8 -0
  49. package/dist/commands/pr-utils.js +54 -0
  50. package/dist/commands/req-archive.d.ts +1 -0
  51. package/dist/commands/req-archive.js +33 -0
  52. package/dist/commands/req-create.d.ts +10 -0
  53. package/dist/commands/req-create.js +94 -0
  54. package/dist/commands/req-export.d.ts +1 -0
  55. package/dist/commands/req-export.js +37 -0
  56. package/dist/commands/req-finish.d.ts +1 -0
  57. package/dist/commands/req-finish.js +120 -0
  58. package/dist/commands/req-lint.d.ts +1 -0
  59. package/dist/commands/req-lint.js +58 -0
  60. package/dist/commands/req-list.d.ts +1 -0
  61. package/dist/commands/req-list.js +36 -0
  62. package/dist/commands/req-plan.d.ts +1 -0
  63. package/dist/commands/req-plan.js +200 -0
  64. package/dist/commands/req-refine.d.ts +1 -0
  65. package/dist/commands/req-refine.js +108 -0
  66. package/dist/commands/req-report.d.ts +1 -0
  67. package/dist/commands/req-report.js +44 -0
  68. package/dist/commands/req-start.d.ts +1 -0
  69. package/dist/commands/req-start.js +131 -0
  70. package/dist/commands/req-status.d.ts +1 -0
  71. package/dist/commands/req-status.js +29 -0
  72. package/dist/commands/route.d.ts +1 -0
  73. package/dist/commands/route.js +30 -0
  74. package/dist/commands/test-plan.d.ts +1 -0
  75. package/dist/commands/test-plan.js +81 -0
  76. package/dist/context/flags.d.ts +7 -0
  77. package/dist/context/flags.js +17 -0
  78. package/dist/paths.d.ts +1 -0
  79. package/dist/paths.js +10 -0
  80. package/dist/providers/codex.d.ts +7 -0
  81. package/dist/providers/codex.js +19 -0
  82. package/dist/router/flow.d.ts +1 -0
  83. package/dist/router/flow.js +17 -0
  84. package/dist/router/intent.d.ts +3 -0
  85. package/dist/router/intent.js +69 -0
  86. package/dist/router/prompt-map.d.ts +1 -0
  87. package/dist/router/prompt-map.js +20 -0
  88. package/dist/router/prompt-packs.d.ts +8 -0
  89. package/dist/router/prompt-packs.js +20 -0
  90. package/dist/router/validate-prompt-packs.d.ts +4 -0
  91. package/dist/router/validate-prompt-packs.js +16 -0
  92. package/dist/templates/render.d.ts +2 -0
  93. package/dist/templates/render.js +25 -0
  94. package/dist/templates/validate.d.ts +4 -0
  95. package/dist/templates/validate.js +58 -0
  96. package/dist/types.d.ts +7 -0
  97. package/dist/types.js +2 -0
  98. package/dist/ui/prompt.d.ts +2 -0
  99. package/dist/ui/prompt.js +49 -0
  100. package/dist/utils/list.d.ts +2 -0
  101. package/dist/utils/list.js +20 -0
  102. package/dist/validation/validate.d.ts +4 -0
  103. package/dist/validation/validate.js +20 -0
  104. package/dist/workspace/index.d.ts +21 -0
  105. package/dist/workspace/index.js +103 -0
  106. package/flows/ADMISSIONS_ADMIN.md +33 -0
  107. package/flows/ART.md +33 -0
  108. package/flows/BUG_FIX.md +32 -0
  109. package/flows/COURT_SYSTEM.md +33 -0
  110. package/flows/DATA_SCIENTIST.md +33 -0
  111. package/flows/ECOMMERCE.md +33 -0
  112. package/flows/ECONOMICS.md +33 -0
  113. package/flows/GRAPHIC_DESIGN.md +33 -0
  114. package/flows/HISTORY.md +33 -0
  115. package/flows/LAWYER.md +34 -0
  116. package/flows/PROGRAMMER.md +33 -0
  117. package/flows/PR_REVIEW.md +33 -0
  118. package/flows/README.md +29 -0
  119. package/flows/RETAIL_STORE.md +33 -0
  120. package/flows/SOCIOLOGY.md +33 -0
  121. package/flows/STATE_ADMIN.md +33 -0
  122. package/flows/STUDENT_UNIVERSITY.md +33 -0
  123. package/flows/TAXES_ADMIN.md +33 -0
  124. package/flows/TEACHER.md +33 -0
  125. package/package.json +32 -0
  126. package/router/BUG_FIX.flow.md +63 -0
  127. package/router/BUSINESS.flow.md +57 -0
  128. package/router/DATA_SCIENCE.flow.md +58 -0
  129. package/router/DESIGN.flow.md +58 -0
  130. package/router/FLOW_TEMPLATE.md +26 -0
  131. package/router/GENERIC.flow.md +37 -0
  132. package/router/HUMANITIES.flow.md +58 -0
  133. package/router/LEARN.flow.md +52 -0
  134. package/router/LEGAL.flow.md +58 -0
  135. package/router/PR_REVIEW.flow.md +55 -0
  136. package/router/README.md +23 -0
  137. package/router/SOFTWARE_FEATURE.flow.md +59 -0
  138. package/schemas/architecture.schema.json +13 -0
  139. package/schemas/decision-log.schema.json +16 -0
  140. package/schemas/diagram.schema.json +11 -0
  141. package/schemas/domain.schema.json +20 -0
  142. package/schemas/functional-spec.schema.json +15 -0
  143. package/schemas/gate.schema.json +10 -0
  144. package/schemas/learn-session.schema.json +15 -0
  145. package/schemas/pr-review.schema.json +20 -0
  146. package/schemas/progress-log.schema.json +21 -0
  147. package/schemas/project-readme.schema.json +23 -0
  148. package/schemas/project.schema.json +16 -0
  149. package/schemas/prompt-pack.schema.json +12 -0
  150. package/schemas/quality.schema.json +23 -0
  151. package/schemas/requirement.schema.json +34 -0
  152. package/schemas/role.schema.json +17 -0
  153. package/schemas/router-flow.schema.json +15 -0
  154. package/schemas/router-intent.schema.json +13 -0
  155. package/schemas/technical-spec.schema.json +15 -0
  156. package/schemas/template.schema.json +10 -0
  157. package/schemas/test-plan.schema.json +13 -0
  158. package/schemas/workspace.schema.json +12 -0
  159. package/templates/architecture.md +16 -0
  160. package/templates/changelog.md +3 -0
  161. package/templates/ci-checklist.md +14 -0
  162. package/templates/decision-log.md +16 -0
  163. package/templates/diagrams/component.mmd +3 -0
  164. package/templates/diagrams/container.mmd +3 -0
  165. package/templates/diagrams/context.mmd +3 -0
  166. package/templates/functional-spec.md +22 -0
  167. package/templates/gate-index.json +20 -0
  168. package/templates/implementation-plan.md +13 -0
  169. package/templates/pr-comment-audit.md +19 -0
  170. package/templates/pr-comment-lifecycle.md +11 -0
  171. package/templates/pr-comment-severity.md +13 -0
  172. package/templates/pr-dispute-resolution.md +16 -0
  173. package/templates/pr-metrics.md +10 -0
  174. package/templates/pr-response-generator.md +11 -0
  175. package/templates/pr-response-style.md +13 -0
  176. package/templates/pr-review-report.md +22 -0
  177. package/templates/pr-review-summary.md +16 -0
  178. package/templates/progress-log.md +6 -0
  179. package/templates/project-readme.md +19 -0
  180. package/templates/prompt-pack-index.json +127 -0
  181. package/templates/quality.yml +17 -0
  182. package/templates/requirement.md +33 -0
  183. package/templates/summary.md +10 -0
  184. package/templates/technical-spec.md +22 -0
  185. package/templates/template-index.json +212 -0
  186. package/templates/test-plan.md +16 -0
@@ -0,0 +1,58 @@
1
+ # Router flow: Legal / civic
2
+
3
+ ## Entry signals
4
+ - "law", "court", "policy", "compliance", "contract"
5
+
6
+ ## Steps
7
+ 1) Interview for jurisdiction, confidentiality, and actors.
8
+ 2) Define legal constraints and evidence requirements.
9
+ 3) Generate requirements and risk checks.
10
+ 4) Ask for approval or `--improve`.
11
+ 5) Produce audit and retention guidelines.
12
+
13
+ ## Required questions
14
+ - What jurisdiction and regulations apply?
15
+ - What data is privileged or sensitive?
16
+ - Who are the actors and access levels?
17
+ - What retention and audit rules exist?
18
+ - What outcomes or deliverables are required?
19
+
20
+ ## Required outputs
21
+ - `requirement.md`
22
+ - `functional-spec.md`
23
+ - `technical-spec.md`
24
+ - `architecture.md`
25
+ - `test-plan.md` (access and audit checks)
26
+
27
+ ## Scripted Q/A tree
28
+
29
+ ### Q1: Jurisdiction
30
+ Q: "What jurisdiction and regulations apply?"
31
+ A: capture jurisdiction and constraints
32
+
33
+ ### Q2: Sensitivity
34
+ Q: "What data is privileged or sensitive?"
35
+ A: capture data sensitivity
36
+
37
+ ### Q3: Actors
38
+ Q: "Who are the actors and access levels?"
39
+ A: capture roles and access
40
+
41
+ ### Q4: Retention
42
+ Q: "What retention and audit rules exist?"
43
+ A: capture retention rules
44
+
45
+ ### Q5: Outcomes
46
+ Q: "What outcomes or deliverables are required?"
47
+ A: capture deliverables
48
+
49
+ ### Q6: Approval gate
50
+ Q: "Approve requirements and move to specs?"
51
+ A: Yes -> generate specs
52
+ A: No -> refine
53
+
54
+ ## Gates
55
+ - Compliance constraints required before plan
56
+
57
+ ## Agents
58
+ - Legal Analyst, Compliance, QA
@@ -0,0 +1,55 @@
1
+ # Router flow: PR review
2
+
3
+ ## Entry signals
4
+ - "PR", "pull request", "review comments", "code review"
5
+
6
+ ## Steps
7
+ 1) Ask permission to open PR link.
8
+ 2) Fetch PR details and comments (if approved).
9
+ 3) Summarize comments and classify by severity.
10
+ 4) Ask user to confirm understanding and add context.
11
+ 5) Run prework audit: validate if comments are correct or debatable.
12
+ 6) Propose fixes and alternatives.
13
+ 7) Generate requirements/specs for the changes.
14
+ 8) Gate implementation until test plan is defined.
15
+
16
+ ## Required questions
17
+ - What is the PR link and target branch?
18
+ - Are there blocking comments?
19
+ - What tests are required?
20
+ - Is there any deadline or release window?
21
+
22
+ ## Scripted Q/A tree
23
+
24
+ ### Q1: Link access
25
+ Q: "Do you approve opening the PR link?"
26
+ A: Yes -> fetch + summarize
27
+ A: No -> ask for pasted comments
28
+
29
+ ### Q2: User perspective
30
+ Q: "Do you agree with the comments? Any context we should know?"
31
+ A: capture user insights
32
+
33
+ ### Q3: Prework audit
34
+ Q: "Should we challenge or accept any comment? If so, why?"
35
+ A: capture constraints and rationale
36
+
37
+ ### Q4: Approval gate
38
+ Q: "Approve plan to address comments and generate specs?"
39
+ A: Yes -> generate artifacts
40
+ A: No -> refine
41
+
42
+ ## Required outputs
43
+ - `requirement.md`
44
+ - `technical-spec.md`
45
+ - `test-plan.md`
46
+ - `progress-log.md`
47
+ - `pr-comment-audit.md`
48
+ - `pr-review-summary.md`
49
+
50
+ ## Gates
51
+ - All comments reviewed before proposing fixes
52
+ - Test plan required before implementation
53
+
54
+ ## Agents
55
+ - Reviewer, Tech Lead, QA
@@ -0,0 +1,23 @@
1
+ # Router scripts
2
+
3
+ These scripts define intent detection and the step-by-step conversation for each flow.
4
+
5
+ Each script includes:
6
+ - Entry signals
7
+ - Required questions
8
+ - Required outputs
9
+ - Gate checks
10
+ - Suggested agent roles
11
+ - Scripted Q/A tree with optional branches
12
+
13
+ Available flows:
14
+ - BUG_FIX
15
+ - LEARN
16
+ - SOFTWARE_FEATURE
17
+ - DATA_SCIENCE
18
+ - DESIGN
19
+ - HUMANITIES
20
+ - BUSINESS
21
+ - LEGAL
22
+ - PR_REVIEW
23
+ - GENERIC
@@ -0,0 +1,59 @@
1
+ # Router flow: Software feature
2
+
3
+ ## Entry signals
4
+ - "feature", "build", "implement", "API", "backend", "frontend"
5
+
6
+ ## Steps
7
+ 1) Run discovery and acceptance criteria prompts.
8
+ 2) Generate requirements and functional spec.
9
+ 3) Generate technical spec and architecture.
10
+ 4) Ask for approval or `--improve`.
11
+ 5) Activate quality profile and test plan.
12
+
13
+ ## Required questions
14
+ - What problem is solved and for whom?
15
+ - What is in scope/out of scope?
16
+ - What are acceptance criteria?
17
+ - What performance/security constraints apply?
18
+ - What is the rollout strategy?
19
+
20
+ ## Required outputs
21
+ - `requirement.md`
22
+ - `functional-spec.md`
23
+ - `technical-spec.md`
24
+ - `architecture.md`
25
+ - `test-plan.md`
26
+ - `quality.yml`
27
+
28
+ ## Scripted Q/A tree
29
+
30
+ ### Q1: Problem and users
31
+ Q: "What problem are we solving and for whom?"
32
+ A: capture user/persona and objective
33
+
34
+ ### Q2: Scope
35
+ Q: "What is in scope and out of scope?"
36
+ A: capture scope boundaries
37
+
38
+ ### Q3: Acceptance criteria
39
+ Q: "What are the acceptance criteria?"
40
+ A: capture verifiable criteria
41
+
42
+ ### Q4: Constraints
43
+ Q: "Any performance, security, or compatibility constraints?"
44
+ A: capture NFRs
45
+
46
+ ### Q5: Rollout
47
+ Q: "How should we rollout and measure success?"
48
+ A: capture rollout + metrics
49
+
50
+ ### Q6: Approval gate
51
+ Q: "Approve requirements and move to specs?"
52
+ A: Yes -> generate specs
53
+ A: No -> refine
54
+
55
+ ## Gates
56
+ - No implementation without acceptance criteria and test plan
57
+
58
+ ## Agents
59
+ - Req Analyst, Solution Architect, Tech Lead, QA
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Architecture",
4
+ "type": "object",
5
+ "required": ["context", "containers", "components"],
6
+ "properties": {
7
+ "context": { "type": "string" },
8
+ "containers": { "type": "array", "items": { "type": "string" } },
9
+ "components": { "type": "array", "items": { "type": "string" } },
10
+ "deployment": { "type": "array", "items": { "type": "string" } },
11
+ "diagrams": { "type": "array", "items": { "type": "string" } }
12
+ }
13
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Decision Log (ADR)",
4
+ "type": "object",
5
+ "required": ["id", "title", "status", "context", "decision", "consequences", "date"],
6
+ "properties": {
7
+ "id": { "type": "string" },
8
+ "title": { "type": "string" },
9
+ "status": { "type": "string", "enum": ["proposed", "accepted", "rejected", "superseded"] },
10
+ "context": { "type": "string" },
11
+ "decision": { "type": "string" },
12
+ "consequences": { "type": "string" },
13
+ "date": { "type": "string" },
14
+ "supersedes": { "type": "string" }
15
+ }
16
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Diagram",
4
+ "type": "object",
5
+ "required": ["type", "path"],
6
+ "properties": {
7
+ "type": { "type": "string", "enum": ["context", "container", "component"] },
8
+ "path": { "type": "string" },
9
+ "format": { "type": "string", "enum": ["mermaid", "plantuml"] }
10
+ }
11
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Domain",
4
+ "type": "string",
5
+ "enum": [
6
+ "software",
7
+ "bug_fix",
8
+ "pr_review",
9
+ "data_science",
10
+ "design",
11
+ "art",
12
+ "history",
13
+ "sociology",
14
+ "economics",
15
+ "legal",
16
+ "education",
17
+ "business",
18
+ "learning"
19
+ ]
20
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Functional Spec",
4
+ "type": "object",
5
+ "required": ["overview", "useCases", "rules", "acceptanceCriteria"],
6
+ "properties": {
7
+ "overview": { "type": "string" },
8
+ "actors": { "type": "array", "items": { "type": "string" } },
9
+ "useCases": { "type": "array", "items": { "type": "string" } },
10
+ "flows": { "type": "array", "items": { "type": "string" } },
11
+ "rules": { "type": "array", "items": { "type": "string" } },
12
+ "errors": { "type": "array", "items": { "type": "string" } },
13
+ "acceptanceCriteria": { "type": "array", "items": { "type": "string" } }
14
+ }
15
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Gate",
4
+ "type": "object",
5
+ "required": ["id", "description"],
6
+ "properties": {
7
+ "id": { "type": "string" },
8
+ "description": { "type": "string" }
9
+ }
10
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Learn Session",
4
+ "type": "object",
5
+ "required": ["topic", "depth", "format", "focusAreas", "purpose"],
6
+ "properties": {
7
+ "topic": { "type": "string" },
8
+ "depth": { "type": "string", "enum": ["overview", "academic", "expert"] },
9
+ "format": { "type": "string", "enum": ["summary", "syllabus", "report", "qa"] },
10
+ "focusAreas": { "type": "array", "items": { "type": "string" } },
11
+ "constraints": { "type": "array", "items": { "type": "string" } },
12
+ "purpose": { "type": "string" },
13
+ "timeBudget": { "type": "string" }
14
+ }
15
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "PR Review",
4
+ "type": "object",
5
+ "required": ["prLink", "comments", "audit", "responses", "tests"],
6
+ "properties": {
7
+ "prLink": { "type": "string" },
8
+ "comments": { "type": "array", "items": { "type": "string" } },
9
+ "audit": {
10
+ "type": "object",
11
+ "required": ["valid", "debatable"],
12
+ "properties": {
13
+ "valid": { "type": "array", "items": { "type": "string" } },
14
+ "debatable": { "type": "array", "items": { "type": "string" } }
15
+ }
16
+ },
17
+ "responses": { "type": "array", "items": { "type": "string" } },
18
+ "tests": { "type": "array", "items": { "type": "string" } }
19
+ }
20
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Progress Log",
4
+ "type": "object",
5
+ "required": ["entries"],
6
+ "properties": {
7
+ "entries": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "required": ["date", "summary"],
12
+ "properties": {
13
+ "date": { "type": "string" },
14
+ "summary": { "type": "string" },
15
+ "risks": { "type": "array", "items": { "type": "string" } },
16
+ "nextSteps": { "type": "array", "items": { "type": "string" } }
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Project README",
4
+ "type": "object",
5
+ "required": ["projectName", "overview", "howToRun", "architectureSummary", "specs", "testingNotes"],
6
+ "properties": {
7
+ "projectName": { "type": "string" },
8
+ "overview": { "type": "string" },
9
+ "howToRun": { "type": "string" },
10
+ "architectureSummary": { "type": "string" },
11
+ "specs": {
12
+ "type": "object",
13
+ "required": ["requirements", "functionalSpec", "technicalSpec", "architecture"],
14
+ "properties": {
15
+ "requirements": { "type": "string" },
16
+ "functionalSpec": { "type": "string" },
17
+ "technicalSpec": { "type": "string" },
18
+ "architecture": { "type": "string" }
19
+ }
20
+ },
21
+ "testingNotes": { "type": "string" }
22
+ }
23
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Project Metadata",
4
+ "type": "object",
5
+ "required": ["id", "name", "domain", "status", "path", "updatedAt"],
6
+ "properties": {
7
+ "id": { "type": "string" },
8
+ "name": { "type": "string" },
9
+ "domain": { "type": "string" },
10
+ "status": { "type": "string", "enum": ["backlog", "wip", "in-progress", "done", "archived"] },
11
+ "path": { "type": "string" },
12
+ "languageProfile": { "type": "string" },
13
+ "qualityProfile": { "type": "string" },
14
+ "updatedAt": { "type": "string" }
15
+ }
16
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Prompt Pack",
4
+ "type": "object",
5
+ "required": ["id", "questions", "gates"],
6
+ "properties": {
7
+ "id": { "type": "string" },
8
+ "questions": { "type": "array", "items": { "type": "string" } },
9
+ "gates": { "type": "array", "items": { "type": "string" } },
10
+ "followUps": { "type": "array", "items": { "type": "string" } }
11
+ }
12
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Quality Contract",
4
+ "type": "object",
5
+ "required": ["rules", "profiles", "thresholds"],
6
+ "properties": {
7
+ "rules": { "type": "array", "items": { "type": "string" } },
8
+ "thresholds": {
9
+ "type": "object",
10
+ "properties": {
11
+ "coverage": { "type": "string" },
12
+ "complexity": { "type": "string" }
13
+ }
14
+ },
15
+ "profiles": {
16
+ "type": "object",
17
+ "additionalProperties": {
18
+ "type": "array",
19
+ "items": { "type": "string" }
20
+ }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Requirement",
4
+ "type": "object",
5
+ "required": ["id", "title", "objective", "scope", "acceptanceCriteria", "nfrs", "status"],
6
+ "properties": {
7
+ "id": { "type": "string" },
8
+ "title": { "type": "string" },
9
+ "objective": { "type": "string" },
10
+ "status": { "type": "string", "enum": ["backlog", "wip", "in-progress", "done", "archived"] },
11
+ "actors": { "type": "array", "items": { "type": "string" } },
12
+ "scope": {
13
+ "type": "object",
14
+ "required": ["in", "out"],
15
+ "properties": {
16
+ "in": { "type": "array", "items": { "type": "string" } },
17
+ "out": { "type": "array", "items": { "type": "string" } }
18
+ }
19
+ },
20
+ "acceptanceCriteria": { "type": "array", "items": { "type": "string" } },
21
+ "nfrs": {
22
+ "type": "object",
23
+ "properties": {
24
+ "security": { "type": "string" },
25
+ "performance": { "type": "string" },
26
+ "availability": { "type": "string" }
27
+ }
28
+ },
29
+ "constraints": { "type": "array", "items": { "type": "string" } },
30
+ "risks": { "type": "array", "items": { "type": "string" } },
31
+ "links": { "type": "array", "items": { "type": "string" } },
32
+ "updatedAt": { "type": "string" }
33
+ }
34
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Agent Role",
4
+ "type": "string",
5
+ "enum": [
6
+ "req_analyst",
7
+ "solution_architect",
8
+ "tech_lead",
9
+ "qa",
10
+ "docs_scribe",
11
+ "reviewer",
12
+ "researcher",
13
+ "critic",
14
+ "synthesizer",
15
+ "analyst"
16
+ ]
17
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Router Flow",
4
+ "type": "object",
5
+ "required": ["id", "entrySignals", "steps", "questions", "outputs", "gates", "agents"],
6
+ "properties": {
7
+ "id": { "type": "string" },
8
+ "entrySignals": { "type": "array", "items": { "type": "string" } },
9
+ "steps": { "type": "array", "items": { "type": "string" } },
10
+ "questions": { "type": "array", "items": { "type": "string" } },
11
+ "outputs": { "type": "array", "items": { "type": "string" } },
12
+ "gates": { "type": "array", "items": { "type": "string" } },
13
+ "agents": { "type": "array", "items": { "type": "string" } }
14
+ }
15
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Router Intent",
4
+ "type": "object",
5
+ "required": ["intent", "confidence", "flow", "domain"],
6
+ "properties": {
7
+ "intent": { "type": "string" },
8
+ "confidence": { "type": "number", "minimum": 0, "maximum": 1 },
9
+ "flow": { "type": "string" },
10
+ "domain": { "$ref": "domain.schema.json" },
11
+ "signals": { "type": "array", "items": { "type": "string" } }
12
+ }
13
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Technical Spec",
4
+ "type": "object",
5
+ "required": ["stack", "interfaces", "dataModel", "security", "errors"],
6
+ "properties": {
7
+ "stack": { "type": "array", "items": { "type": "string" } },
8
+ "interfaces": { "type": "array", "items": { "type": "string" } },
9
+ "dataModel": { "type": "array", "items": { "type": "string" } },
10
+ "security": { "type": "array", "items": { "type": "string" } },
11
+ "errors": { "type": "array", "items": { "type": "string" } },
12
+ "performance": { "type": "array", "items": { "type": "string" } },
13
+ "observability": { "type": "array", "items": { "type": "string" } }
14
+ }
15
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Template Metadata",
4
+ "type": "object",
5
+ "required": ["name", "placeholders"],
6
+ "properties": {
7
+ "name": { "type": "string" },
8
+ "placeholders": { "type": "array", "items": { "type": "string" } }
9
+ }
10
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Test Plan",
4
+ "type": "object",
5
+ "required": ["criticalPaths", "edgeCases", "coverageTarget", "acceptanceTests"],
6
+ "properties": {
7
+ "criticalPaths": { "type": "array", "items": { "type": "string" } },
8
+ "edgeCases": { "type": "array", "items": { "type": "string" } },
9
+ "coverageTarget": { "type": "string" },
10
+ "acceptanceTests": { "type": "array", "items": { "type": "string" } },
11
+ "regressions": { "type": "array", "items": { "type": "string" } }
12
+ }
13
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "Workspace Index",
4
+ "type": "object",
5
+ "required": ["projects"],
6
+ "properties": {
7
+ "projects": {
8
+ "type": "array",
9
+ "items": { "$ref": "project.schema.json" }
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,16 @@
1
+ # Architecture: {{title}}
2
+
3
+ ## Context
4
+ {{context}}
5
+
6
+ ## Containers
7
+ {{containers}}
8
+
9
+ ## Components
10
+ {{components}}
11
+
12
+ ## Deployment
13
+ {{deployment}}
14
+
15
+ ## Diagrams
16
+ {{diagrams}}
@@ -0,0 +1,3 @@
1
+ # Changelog
2
+
3
+ - {{date}} Created requirement
@@ -0,0 +1,14 @@
1
+ # CI Checklist
2
+
3
+ ## Required checks
4
+ - Lint and format
5
+ - Unit tests
6
+ - Integration tests (if applicable)
7
+ - Build succeeds
8
+
9
+ ## Evidence
10
+ - Links to CI runs
11
+ - Test summaries
12
+
13
+ ## Notes
14
+ - Known limitations or deferred items
@@ -0,0 +1,16 @@
1
+ # ADR {{id}}: {{title}}
2
+
3
+ ## Status
4
+ {{status}}
5
+
6
+ ## Context
7
+ {{context}}
8
+
9
+ ## Decision
10
+ {{decision}}
11
+
12
+ ## Consequences
13
+ {{consequences}}
14
+
15
+ ## Date
16
+ {{date}}
@@ -0,0 +1,3 @@
1
+ flowchart TB
2
+ Controller[Controller] --> Service[Service Layer]
3
+ Service --> Repo[Repository]
@@ -0,0 +1,3 @@
1
+ flowchart TB
2
+ API[API Service] --> DB[(Database)]
3
+ API --> Cache[(Cache)]
@@ -0,0 +1,3 @@
1
+ flowchart TB
2
+ User[User] --> App[System]
3
+ App --> External[External Services]