forge-dev-framework 1.1.0 → 1.2.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 (107) hide show
  1. package/.claude/commands/forge/README.md +156 -189
  2. package/.claude/commands/forge/add-phase.md +4 -3
  3. package/.claude/commands/forge/complete-milestone.md +1 -1
  4. package/.claude/commands/forge/convert.md +31 -0
  5. package/.claude/commands/forge/debug.md +12 -154
  6. package/.claude/commands/forge/discuss.md +60 -107
  7. package/.claude/commands/forge/execute.md +67 -142
  8. package/.claude/commands/forge/generate.md +8 -107
  9. package/.claude/commands/forge/help.md +9 -114
  10. package/.claude/commands/forge/init.md +10 -74
  11. package/.claude/commands/forge/insert-phase.md +4 -3
  12. package/.claude/commands/forge/new-milestone.md +1 -1
  13. package/.claude/commands/forge/new-project.md +12 -91
  14. package/.claude/commands/forge/pause-work.md +2 -2
  15. package/.claude/commands/forge/plan.md +114 -129
  16. package/.claude/commands/forge/quick.md +17 -106
  17. package/.claude/commands/forge/remove-phase.md +3 -2
  18. package/.claude/commands/forge/resume.md +22 -0
  19. package/.claude/commands/forge/team-add.md +24 -0
  20. package/.claude/commands/forge/team-create.md +22 -0
  21. package/.claude/commands/forge/team-remove.md +24 -0
  22. package/.claude/commands/forge/team-start.md +22 -0
  23. package/.claude/commands/forge/team-view.md +18 -0
  24. package/.claude/commands/forge/verify.md +68 -147
  25. package/.claude/hooks/forge-context-cleanup.cjs +79 -0
  26. package/.claude/hooks/forge-event-guard.cjs +36 -0
  27. package/.claude/hooks/forge-size-guard.cjs +55 -0
  28. package/.claude/rules/api-patterns.md +13 -98
  29. package/.claude/rules/context-efficiency.md +10 -0
  30. package/.claude/rules/security-baseline.md +18 -204
  31. package/.claude/rules/testing-standards.md +16 -177
  32. package/.claude/rules/ui-conventions.md +17 -142
  33. package/bin/forge.js +5 -3
  34. package/dist/bin/forge.js +5 -3
  35. package/dist/cli/index.d.ts.map +1 -1
  36. package/dist/cli/index.js +15 -1
  37. package/dist/cli/index.js.map +1 -1
  38. package/dist/commands/convert.d.ts +6 -0
  39. package/dist/commands/convert.d.ts.map +1 -0
  40. package/dist/commands/convert.js +132 -0
  41. package/dist/commands/convert.js.map +1 -0
  42. package/dist/commands/generate.d.ts.map +1 -1
  43. package/dist/commands/generate.js +3 -2
  44. package/dist/commands/generate.js.map +1 -1
  45. package/dist/commands/index.d.ts +4 -4
  46. package/dist/commands/index.d.ts.map +1 -1
  47. package/dist/commands/index.js +4 -4
  48. package/dist/commands/index.js.map +1 -1
  49. package/dist/generators/gsd-converter.d.ts +100 -0
  50. package/dist/generators/gsd-converter.d.ts.map +1 -0
  51. package/dist/generators/gsd-converter.js +335 -0
  52. package/dist/generators/gsd-converter.js.map +1 -0
  53. package/dist/templates/.claude/rules/api-patterns.md.template +212 -0
  54. package/dist/templates/.claude/rules/security-baseline.md.template +322 -0
  55. package/dist/templates/.claude/rules/testing-standards.md.template +280 -0
  56. package/dist/templates/.claude/rules/ui-conventions.md.template +264 -0
  57. package/dist/templates/.planning/forge.config.json.template +75 -0
  58. package/dist/templates/CLAUDE.md.template +161 -0
  59. package/dist/templates/PLAN.md.template +177 -0
  60. package/dist/templates/PROJECT.md.template +156 -0
  61. package/dist/templates/REQUIREMENTS.md.template +221 -0
  62. package/dist/templates/ROADMAP.md.template +130 -0
  63. package/dist/types/index.d.ts +2 -2
  64. package/dist/types/index.d.ts.map +1 -1
  65. package/dist/types/index.js +2 -2
  66. package/dist/types/index.js.map +1 -1
  67. package/dist/utils/index.d.ts +5 -5
  68. package/dist/utils/index.d.ts.map +1 -1
  69. package/dist/utils/index.js +5 -5
  70. package/dist/utils/index.js.map +1 -1
  71. package/dist/utils/template-client.d.ts.map +1 -1
  72. package/dist/utils/template-client.js +3 -2
  73. package/dist/utils/template-client.js.map +1 -1
  74. package/package.json +6 -4
  75. package/.claude/commands/forge/resume-work.md +0 -122
  76. package/dist/git/__tests__/worktree.test.d.ts +0 -5
  77. package/dist/git/__tests__/worktree.test.d.ts.map +0 -1
  78. package/dist/git/__tests__/worktree.test.js +0 -121
  79. package/dist/git/__tests__/worktree.test.js.map +0 -1
  80. package/dist/git/codeowners.d.ts +0 -101
  81. package/dist/git/codeowners.d.ts.map +0 -1
  82. package/dist/git/codeowners.js +0 -216
  83. package/dist/git/codeowners.js.map +0 -1
  84. package/dist/git/commit.d.ts +0 -135
  85. package/dist/git/commit.d.ts.map +0 -1
  86. package/dist/git/commit.js +0 -223
  87. package/dist/git/commit.js.map +0 -1
  88. package/dist/git/hooks/commit-msg.d.ts +0 -8
  89. package/dist/git/hooks/commit-msg.d.ts.map +0 -1
  90. package/dist/git/hooks/commit-msg.js +0 -34
  91. package/dist/git/hooks/commit-msg.js.map +0 -1
  92. package/dist/git/hooks/pre-commit.d.ts +0 -8
  93. package/dist/git/hooks/pre-commit.d.ts.map +0 -1
  94. package/dist/git/hooks/pre-commit.js +0 -34
  95. package/dist/git/hooks/pre-commit.js.map +0 -1
  96. package/dist/git/pre-commit-hooks.d.ts +0 -117
  97. package/dist/git/pre-commit-hooks.d.ts.map +0 -1
  98. package/dist/git/pre-commit-hooks.js +0 -270
  99. package/dist/git/pre-commit-hooks.js.map +0 -1
  100. package/dist/git/wipe-protocol.d.ts +0 -281
  101. package/dist/git/wipe-protocol.d.ts.map +0 -1
  102. package/dist/git/wipe-protocol.js +0 -237
  103. package/dist/git/wipe-protocol.js.map +0 -1
  104. package/dist/git/worktree.d.ts +0 -69
  105. package/dist/git/worktree.d.ts.map +0 -1
  106. package/dist/git/worktree.js +0 -202
  107. package/dist/git/worktree.js.map +0 -1
@@ -0,0 +1,161 @@
1
+ # {{projectName}} - Project Constitution
2
+
3
+ > **Immutable Configuration** — This file defines the technical foundation. Changes require explicit team approval.
4
+
5
+ ---
6
+
7
+ ## Tech Stack
8
+
9
+ {{#if techStack.backend}}
10
+ ### Backend
11
+ - **Language:** {{techStack.backend.language}}
12
+ - **Framework:** {{techStack.backend.framework}}
13
+ - **Runtime:** {{techStack.backend.runtime}}
14
+ {{/if}}
15
+
16
+ {{#if techStack.frontend}}
17
+ ### Frontend
18
+ - **Language:** {{techStack.frontend.language}}
19
+ - **Framework:** {{techStack.frontend.framework}}
20
+ - **Build:** {{techStack.frontend.build}}
21
+ {{/if}}
22
+
23
+ {{#if techStack.database}}
24
+ ### Database
25
+ - **Primary:** {{techStack.database.primary}}
26
+ {{#if techStack.database.cache}}
27
+ - **Cache:** {{techStack.database.cache}}
28
+ {{/if}}
29
+ {{/if}}
30
+
31
+ {{#if techStack.infrastructure}}
32
+ ### Infrastructure
33
+ - **Hosting:** {{techStack.infrastructure.hosting}}
34
+ - **CI/CD:** {{techStack.infrastructure.cicd}}
35
+ {{/if}}
36
+
37
+ ---
38
+
39
+ ## Core Patterns
40
+
41
+ {{#each patterns}}
42
+ ### {{this.name}}
43
+ {{this.description}}
44
+
45
+ {{#if this.example}}
46
+ **Example:**
47
+ ```{{this.lang}}
48
+ {{this.example}}
49
+ ```
50
+ {{/if}}
51
+ {{/each}}
52
+
53
+ ---
54
+
55
+ ## Hard Rules
56
+
57
+ {{#each rules}}
58
+ ### {{this.category}}
59
+ {{#each this.items}}
60
+ - **{{this.title}}:** {{this.description}}
61
+ {{/each}}
62
+ {{/each}}
63
+
64
+ ---
65
+
66
+ ## Code Conventions
67
+
68
+ ### File Organization
69
+ {{#if codeStructure}}
70
+ {{codeStructure}}
71
+ {{/if}}
72
+
73
+ ### Naming Conventions
74
+ {{#if namingConventions}}
75
+ {{namingConventions}}
76
+ {{/if}}
77
+
78
+ ---
79
+
80
+ ## Import Aliases
81
+
82
+ {{#if importAliases}}
83
+ | Alias | Path |
84
+ |-------|------|
85
+ {{#each importAliases}}
86
+ | `@/{{this.from}}` | `{{this.to}}` |
87
+ {{/each}}
88
+ {{/if}}
89
+
90
+ ---
91
+
92
+ ## Environment Variables
93
+
94
+ {{#if envVars}}
95
+ | Variable | Required | Description |
96
+ |----------|----------|-------------|
97
+ {{#each envVars}}
98
+ | `{{this.name}}` | {{this.required}} | {{this.description}} |
99
+ {{/each}}
100
+ {{/if}}
101
+
102
+ ---
103
+
104
+ ## Testing Standards
105
+
106
+ {{#if testing}}
107
+ ### Test Organization
108
+ {{testing.structure}}
109
+
110
+ ### Coverage Requirements
111
+ {{testing.coverage}}
112
+
113
+ ### Test Command
114
+ ```bash
115
+ {{testing.command}}
116
+ ```
117
+ {{/if}}
118
+
119
+ ---
120
+
121
+ ## Git Conventions
122
+
123
+ ### Commit Format
124
+ ```
125
+ {{#if commitFormat}}
126
+ {{commitFormat}}
127
+ {{else}}
128
+ <type>(<scope>): <description>
129
+
130
+ [optional body]
131
+
132
+ [optional footer]
133
+ {{/if}}
134
+ ```
135
+
136
+ ### Commit Types
137
+ {{#if commitTypes}}
138
+ {{#each commitTypes}}
139
+ - **{{this.type}}:** {{this.description}}
140
+ {{/each}}
141
+ {{/if}}
142
+
143
+ ---
144
+
145
+ ## Deployment
146
+
147
+ {{#if deployment}}
148
+ ### Strategy
149
+ {{deployment.strategy}}
150
+
151
+ ### Environment Promotion
152
+ {{#each deployment.environments}}
153
+ 1. **{{this.name}}:** {{this.description}}
154
+ {{/each}}
155
+ {{/if}}
156
+
157
+ ---
158
+
159
+ > **Token Budget:** ~2000 tokens max
160
+ > **Last Updated:** {{timestamp}}
161
+ > **Version:** {{version}}
@@ -0,0 +1,177 @@
1
+ # Execution Plan — {{projectName}}
2
+
3
+ > Phase: {{currentPhase}} | Status: {{status}}
4
+
5
+ ---
6
+
7
+ ## Phase Overview
8
+
9
+ ### {{phaseName}}
10
+
11
+ {{phaseDescription}}
12
+
13
+ **Duration:** {{phaseDuration}}
14
+ **Owner:** {{phaseOwner}}
15
+ **Dependencies:** {{#if phaseDependencies}}{{phaseDependencies}}{{else}}None{{/if}}
16
+
17
+ ---
18
+
19
+ ## Task Breakdown
20
+
21
+ {{#each tasks}}
22
+ ### {{this.id}}: {{this.name}}
23
+
24
+ **Owner:** {{this.owner}}
25
+ **Type:** {{this.type}}
26
+ **Priority:** {{this.priority}}
27
+ **Status:** {{this.status}}
28
+
29
+ #### Description
30
+ {{this.description}}
31
+
32
+ #### Dependencies
33
+ {{#if this.dependencies}}
34
+ - {{this.dependencies}}
35
+ {{else}}
36
+ None
37
+ {{/if}}
38
+
39
+ #### Files
40
+ {{#if this.files}}
41
+ - Input: {{this.inputs}}
42
+ - Output: {{this.outputs}}
43
+ {{/if}}
44
+
45
+ #### Contracts
46
+ {{#if this.contracts}}
47
+ - {{this.contracts}}
48
+ {{else}}
49
+ None
50
+ {{/if}}
51
+
52
+ #### Acceptance Criteria
53
+ {{#each this.acceptance}}
54
+ - {{this}}
55
+ {{/each}}
56
+
57
+ #### Verification
58
+ ```bash
59
+ {{this.verify}}
60
+ ```
61
+
62
+ ---
63
+
64
+ {{/each}}
65
+
66
+ ---
67
+
68
+ ## Dependency Graph
69
+
70
+ ```mermaid
71
+ graph TD
72
+ {{#each dependencies}}
73
+ {{this.id}}[{{this.label}}]
74
+ {{#each this.deps}}
75
+ {{../id}} --> {{this}}
76
+ {{/each}}
77
+ {{/each}}
78
+ ```
79
+
80
+ ### Critical Path
81
+ {{#if criticalPath}}
82
+ The following tasks form the critical path:
83
+ {{#each criticalPath}}
84
+ {{@index}}. {{this}}
85
+ {{/each}}
86
+ {{/if}}
87
+
88
+ ### Parallel Execution Opportunities
89
+ {{#if parallelTasks}}
90
+ These tasks can be executed in parallel:
91
+ {{#each parallelTasks}}
92
+ - **{{this.name}}:** {{this.description}}
93
+ {{/each}}
94
+ {{/if}}
95
+
96
+ ---
97
+
98
+ ## Resource Allocation
99
+
100
+ | Role | Agent | Tasks | Hours |
101
+ |------|-------|-------|-------|
102
+ {{#each resources}}
103
+ | {{this.role}} | {{this.agent}} | {{this.taskCount}} | {{this.estimatedHours}} |
104
+ {{/each}}
105
+
106
+ ---
107
+
108
+ ## Contracts & Interfaces
109
+
110
+ {{#if contracts}}
111
+ {{#each contracts}}
112
+ ### {{this.name}}
113
+ - **Path:** `{{this.path}}`
114
+ - **Format:** {{this.format}}
115
+ - **Version:** {{this.version}}
116
+ - **Provider:** {{this.provider}}
117
+ - **Consumers:** {{this.consumers}}
118
+
119
+ {{/each}}
120
+ {{/if}}
121
+
122
+ ---
123
+
124
+ ## Execution Strategy
125
+
126
+ ### Parallel Strategy
127
+ {{#if parallelStrategy}}
128
+ {{parallelStrategy}}
129
+ {{/if}}
130
+
131
+ ### Rollout Plan
132
+ {{#if rolloutPlan}}
133
+ {{rolloutPlan}}
134
+ {{/if}}
135
+
136
+ ### Testing Strategy
137
+ {{#if testingStrategy}}
138
+ {{testingStrategy}}
139
+ {{/if}}
140
+
141
+ ---
142
+
143
+ ## Risk Mitigation
144
+
145
+ {{#if risks}}
146
+ {{#each risks}}
147
+ ### {{this.name}}
148
+ - **Risk:** {{this.description}}
149
+ - **Impact:** {{this.impact}}
150
+ - **Mitigation:** {{this.mitigation}}
151
+ - **Contingency:** {{this.contingency}}
152
+
153
+ {{/each}}
154
+ {{/if}}
155
+
156
+ ---
157
+
158
+ ## Success Criteria
159
+
160
+ This phase is complete when:
161
+
162
+ {{#each successCriteria}}
163
+ {{@index}}. {{this}}
164
+ {{/each}}
165
+
166
+ ---
167
+
168
+ ## Notes
169
+
170
+ {{#if notes}}
171
+ {{notes}}
172
+ {{/if}}
173
+
174
+ ---
175
+
176
+ > **Token Budget:** ~6000 tokens max
177
+ > **Last Updated:** {{timestamp}}
@@ -0,0 +1,156 @@
1
+ # {{projectName}}
2
+
3
+ > {{tagline}}
4
+
5
+ ---
6
+
7
+ ## Vision
8
+
9
+ {{vision}}
10
+
11
+ ---
12
+
13
+ ## Problem Statement
14
+
15
+ {{problemStatement}}
16
+
17
+ ---
18
+
19
+ ## Solution Overview
20
+
21
+ {{solution}}
22
+
23
+ ---
24
+
25
+ ## Tech Stack
26
+
27
+ {{#if techStack.backend}}
28
+ ### Backend
29
+ - **Language:** {{techStack.backend.language}}
30
+ - **Framework:** {{techStack.backend.framework}}
31
+ - **Runtime:** {{techStack.backend.runtime}}
32
+ {{#if techStack.backend.keyLibraries}}
33
+ - **Key Libraries:** {{techStack.backend.keyLibraries}}
34
+ {{/if}}
35
+ {{/if}}
36
+
37
+ {{#if techStack.frontend}}
38
+ ### Frontend
39
+ - **Language:** {{techStack.frontend.language}}
40
+ - **Framework:** {{techStack.frontend.framework}}
41
+ - **Build:** {{techStack.frontend.build}}
42
+ - **Styling:** {{techStack.frontend.styling}}
43
+ {{#if techStack.frontend.stateManagement}}
44
+ - **State Management:** {{techStack.frontend.stateManagement}}
45
+ {{/if}}
46
+ {{/if}}
47
+
48
+ {{#if techStack.database}}
49
+ ### Data
50
+ - **Primary:** {{techStack.database.primary}}
51
+ {{#if techStack.database.orm}}
52
+ - **ORM:** {{techStack.database.orm}}
53
+ {{/if}}
54
+ {{#if techStack.database.migrations}}
55
+ - **Migrations:** {{techStack.database.migrations}}
56
+ {{/if}}
57
+ {{/if}}
58
+
59
+ {{#if techStack.infrastructure}}
60
+ ### Infrastructure
61
+ - **Hosting:** {{techStack.infrastructure.hosting}}
62
+ - **CI/CD:** {{techStack.infrastructure.cicd}}
63
+ {{#if techStack.infrastructure.monitoring}}
64
+ - **Monitoring:** {{techStack.infrastructure.monitoring}}
65
+ {{/if}}
66
+ {{/if}}
67
+
68
+ ---
69
+
70
+ ## Architecture Overview
71
+
72
+ ```
73
+ {{architectureDiagram}}
74
+ ```
75
+
76
+ ### System Boundaries
77
+ {{#each systemBoundaries}}
78
+ - **{{this.name}}:** {{this.description}}
79
+ {{/each}}
80
+
81
+ ### Data Flow
82
+ {{#if dataFlow}}
83
+ {{dataFlow}}
84
+ {{/if}}
85
+
86
+ ---
87
+
88
+ ## Core Features
89
+
90
+ {{#each features}}
91
+ ### {{this.name}}
92
+ {{this.description}}
93
+
94
+ {{#if this.acceptanceCriteria}}
95
+ **Acceptance Criteria:**
96
+ {{#each this.acceptanceCriteria}}
97
+ - {{this}}
98
+ {{/each}}
99
+ {{/if}}
100
+
101
+ {{/each}}
102
+
103
+ ---
104
+
105
+ ## Non-Functional Requirements
106
+
107
+ {{#if nfrs}}
108
+ ### Performance
109
+ {{#each nfrs.performance}}
110
+ - {{this}}
111
+ {{/each}}
112
+
113
+ ### Security
114
+ {{#each nfrs.security}}
115
+ - {{this}}
116
+ {{/each}}
117
+
118
+ ### Scalability
119
+ {{#each nfrs.scalability}}
120
+ - {{this}}
121
+ {{/each}}
122
+
123
+ ### Availability
124
+ {{#each nfrs.availability}}
125
+ - {{this}}
126
+ {{/each}}
127
+ {{/if}}
128
+
129
+ ---
130
+
131
+ ## Success Metrics
132
+
133
+ {{#each successMetrics}}
134
+ - **{{this.name}}:** {{this.description}} (Target: {{this.target}})
135
+ {{/each}}
136
+
137
+ ---
138
+
139
+ ## Known Constraints
140
+
141
+ {{#each constraints}}
142
+ - **{{this.type}}:** {{this.description}}
143
+ {{/each}}
144
+
145
+ ---
146
+
147
+ ## Out of Scope (Future Phases)
148
+
149
+ {{#each outOfScope}}
150
+ - {{this}}
151
+ {{/each}}
152
+
153
+ ---
154
+
155
+ > **Version:** {{version}}
156
+ > **Last Updated:** {{timestamp}}
@@ -0,0 +1,221 @@
1
+ # Requirements — {{projectName}}
2
+
3
+ > Version: {{version}} | Phase: {{currentPhase}}
4
+
5
+ ---
6
+
7
+ ## Functional Requirements
8
+
9
+ {{#each features}}
10
+ ### {{@index}}. {{this.name}}
11
+
12
+ {{this.description}}
13
+
14
+ #### User Stories
15
+ {{#each this.userStories}}
16
+ **As a** {{this.role}}
17
+ **I want** {{this.want}}
18
+ **So that** {{this.why}}
19
+
20
+ {{/each}}
21
+
22
+ #### Acceptance Criteria
23
+ {{#each this.acceptanceCriteria}}
24
+ **Given** {{this.given}}
25
+ **When** {{this.when}}
26
+ **Then** {{this.then}}
27
+
28
+ {{/each}}
29
+
30
+ #### Dependencies
31
+ {{#if this.dependencies}}
32
+ - Depends on: {{this.dependencies}}
33
+ {{/if}}
34
+
35
+ {{#if this.apiContracts}}
36
+ **API Contracts:** `{{this.apiContracts}}`
37
+ {{/if}}
38
+
39
+ {{/each}}
40
+
41
+ ---
42
+
43
+ ## Non-Functional Requirements
44
+
45
+ ### Performance
46
+ {{#each nfrs.performance}}
47
+ - {{this}}
48
+
49
+ {{/each}}
50
+
51
+ ### Security
52
+ {{#each nfrs.security}}
53
+ - {{this}}
54
+
55
+ {{/each}}
56
+
57
+ ### Reliability
58
+ {{#each nfrs.reliability}}
59
+ - {{this}}
60
+
61
+ {{/each}}
62
+
63
+ ### Maintainability
64
+ {{#each nfrs.maintainability}}
65
+ - {{this}}
66
+
67
+ {{/each}}
68
+
69
+ ### Scalability
70
+ {{#each nfrs.scalability}}
71
+ - {{this}}
72
+
73
+ {{/each}}
74
+
75
+ ---
76
+
77
+ ## Data Requirements
78
+
79
+ {{#if dataRequirements}}
80
+ ### Entities
81
+ {{#each dataRequirements.entities}}
82
+ #### {{this.name}}
83
+ {{#each this.fields}}
84
+ - **{{this.name}}** ({{this.type}}){{#if this.required}} *required*{{/if}}: {{this.description}}
85
+ {{/each}}
86
+
87
+ {{/each}}
88
+ {{/if}}
89
+
90
+ ---
91
+
92
+ ## API Requirements
93
+
94
+ {{#if apiRequirements}}
95
+ {{#each apiRequirements}}
96
+ ### {{this.name}}
97
+ - **Endpoint:** `{{this.method}} {{this.path}}`
98
+ - **Description:** {{this.description}}
99
+ - **Authentication:** {{this.authentication}}
100
+ - **Rate Limit:** {{this.rateLimit}}
101
+
102
+ {{#if this.request}}
103
+ **Request:**
104
+ ```{{this.request.format}}
105
+ {{this.request.schema}}
106
+ ```
107
+ {{/if}}
108
+
109
+ {{#if this.response}}
110
+ **Response:**
111
+ ```{{this.response.format}}
112
+ {{this.response.schema}}
113
+ ```
114
+ {{/if}}
115
+
116
+ {{#if this.errors}}
117
+ **Error Responses:**
118
+ {{#each this.errors}}
119
+ - `{{this.code}}` — {{this.description}}
120
+ {{/each}}
121
+ {{/if}}
122
+
123
+ {{/each}}
124
+ {{/if}}
125
+
126
+ ---
127
+
128
+ ## UI/UX Requirements
129
+
130
+ {{#if uiRequirements}}
131
+ ### Design Principles
132
+ {{#each uiRequirements.principles}}
133
+ - {{this}}
134
+ {{/each}}
135
+
136
+ ### Screen Requirements
137
+ {{#each uiRequirements.screens}}
138
+ #### {{this.name}}
139
+ {{this.description}}
140
+
141
+ **States:**
142
+ {{#each this.states}}
143
+ - {{this.name}}: {{this.description}}
144
+ {{/each}}
145
+
146
+ **Interactions:**
147
+ {{#each this.interactions}}
148
+ - {{this}}
149
+ {{/each}}
150
+
151
+ {{/each}}
152
+ {{/if}}
153
+
154
+ ---
155
+
156
+ ## Integration Requirements
157
+
158
+ {{#if integrations}}
159
+ {{#each integrations}}
160
+ ### {{this.name}}
161
+ - **Type:** {{this.type}}
162
+ - **Purpose:** {{this.purpose}}
163
+ - **Contract:** `{{this.contractPath}}`
164
+ - **SLA:** {{this.sla}}
165
+
166
+ {{/each}}
167
+ {{/if}}
168
+
169
+ ---
170
+
171
+ ## Testing Requirements
172
+
173
+ {{#if testing}}
174
+ ### Test Coverage
175
+ - Minimum: {{testing.coverage}}%
176
+ - Critical paths: 100%
177
+
178
+ ### Test Types Required
179
+ {{#each.testing.types}}
180
+ - {{this}}
181
+ {{/each}}
182
+
183
+ ### Performance Tests
184
+ {{#if testing.performance}}
185
+ {{testing.performance}}
186
+ {{/if}}
187
+
188
+ ### Security Tests
189
+ {{#if testing.security}}
190
+ {{testing.security}}
191
+ {{/if}}
192
+ {{/if}}
193
+
194
+ ---
195
+
196
+ ## Compliance & Legal
197
+
198
+ {{#if compliance}}
199
+ {{#each compliance}}
200
+ - **{{this.area}}:** {{this.requirement}}
201
+ {{/each}}
202
+ {{/if}}
203
+
204
+ ---
205
+
206
+ ## Assumptions & Dependencies
207
+
208
+ ### Assumptions
209
+ {{#each assumptions}}
210
+ - {{this}}
211
+ {{/each}}
212
+
213
+ ### External Dependencies
214
+ {{#each dependencies}}
215
+ - **{{this.name}}** (v{{this.version}}) — {{this.purpose}}
216
+ {{/each}}
217
+
218
+ ---
219
+
220
+ > **Token Budget:** ~4000 tokens max
221
+ > **Last Updated:** {{timestamp}}