@mytechtoday/augment-extensions 1.3.0 → 1.4.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 (232) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +105 -6
  3. package/augment-extensions/domain-rules/software-architecture/README.md +143 -143
  4. package/augment-extensions/domain-rules/software-architecture/examples/banking-layered.md +961 -961
  5. package/augment-extensions/domain-rules/software-architecture/examples/ecommerce-microservices.md +990 -990
  6. package/augment-extensions/domain-rules/software-architecture/examples/iot-eventdriven.md +882 -882
  7. package/augment-extensions/domain-rules/software-architecture/examples/monolith-to-microservices-migration.md +703 -703
  8. package/augment-extensions/domain-rules/software-architecture/examples/serverless-imageprocessing.md +957 -957
  9. package/augment-extensions/domain-rules/software-architecture/examples/trading-eventdriven.md +747 -747
  10. package/augment-extensions/domain-rules/software-architecture/module.json +119 -119
  11. package/augment-extensions/domain-rules/software-architecture/rules/challenges-solutions.md +763 -763
  12. package/augment-extensions/domain-rules/software-architecture/rules/definitions-terminology.md +409 -409
  13. package/augment-extensions/domain-rules/software-architecture/rules/design-principles.md +684 -684
  14. package/augment-extensions/domain-rules/software-architecture/rules/evaluation-testing.md +1381 -1381
  15. package/augment-extensions/domain-rules/software-architecture/rules/event-driven-architecture.md +616 -616
  16. package/augment-extensions/domain-rules/software-architecture/rules/fundamentals.md +306 -306
  17. package/augment-extensions/domain-rules/software-architecture/rules/industry-architectures.md +554 -554
  18. package/augment-extensions/domain-rules/software-architecture/rules/layered-architecture.md +776 -776
  19. package/augment-extensions/domain-rules/software-architecture/rules/microservices-architecture.md +503 -503
  20. package/augment-extensions/domain-rules/software-architecture/rules/modeling-documentation.md +1199 -1199
  21. package/augment-extensions/domain-rules/software-architecture/rules/monolithic-architecture.md +351 -351
  22. package/augment-extensions/domain-rules/software-architecture/rules/principles.md +556 -556
  23. package/augment-extensions/domain-rules/software-architecture/rules/quality-attributes.md +797 -797
  24. package/augment-extensions/domain-rules/software-architecture/rules/scalability-performance.md +1345 -1345
  25. package/augment-extensions/domain-rules/software-architecture/rules/security-architecture.md +1039 -1039
  26. package/augment-extensions/domain-rules/software-architecture/rules/serverless-architecture.md +711 -711
  27. package/augment-extensions/domain-rules/software-architecture/rules/skills-development.md +568 -568
  28. package/augment-extensions/domain-rules/software-architecture/rules/tools-methodologies.md +961 -961
  29. package/augment-extensions/visual-design/CHANGELOG.md +132 -132
  30. package/augment-extensions/visual-design/README.md +255 -255
  31. package/augment-extensions/visual-design/__tests__/README.md +119 -119
  32. package/augment-extensions/visual-design/__tests__/style-selector.test.ts +172 -172
  33. package/augment-extensions/visual-design/__tests__/vendor-styles.test.ts +214 -214
  34. package/augment-extensions/visual-design/domains/other/ai-prompt-helper.ts +157 -157
  35. package/augment-extensions/visual-design/domains/other/dotnet-application.ts +156 -156
  36. package/augment-extensions/visual-design/domains/other/linux-platform.ts +156 -156
  37. package/augment-extensions/visual-design/domains/other/mobile-application.ts +157 -157
  38. package/augment-extensions/visual-design/domains/other/motion-picture.ts +156 -156
  39. package/augment-extensions/visual-design/domains/other/os-application.ts +156 -156
  40. package/augment-extensions/visual-design/domains/other/print-campaigns.ts +158 -158
  41. package/augment-extensions/visual-design/domains/other/web-app.ts +157 -157
  42. package/augment-extensions/visual-design/domains/other/website.ts +161 -161
  43. package/augment-extensions/visual-design/domains/other/windows-platform.ts +156 -156
  44. package/augment-extensions/visual-design/domains/web-page-styles/amazon-cloudscape.ts +506 -506
  45. package/augment-extensions/visual-design/domains/web-page-styles/google-modern.ts +615 -615
  46. package/augment-extensions/visual-design/domains/web-page-styles/microsoft-fluent.ts +531 -531
  47. package/augment-extensions/visual-design/examples/README.md +97 -97
  48. package/augment-extensions/visual-design/examples/ai-prompt-generation.md +233 -233
  49. package/augment-extensions/visual-design/examples/basic-usage.md +216 -216
  50. package/augment-extensions/visual-design/examples/domain-workflows.md +257 -257
  51. package/augment-extensions/visual-design/examples/vendor-comparison.md +247 -247
  52. package/augment-extensions/visual-design/module.json +78 -78
  53. package/augment-extensions/visual-design/style-selector.ts +177 -177
  54. package/augment-extensions/visual-design/types.ts +302 -302
  55. package/augment-extensions/visual-design/visual-design-core.ts +469 -469
  56. package/augment-extensions/workflows/adr-support/README.md +227 -227
  57. package/augment-extensions/workflows/adr-support/__tests__/adr-validator.test.ts +203 -203
  58. package/augment-extensions/workflows/adr-support/adr-validator.ts +162 -162
  59. package/augment-extensions/workflows/adr-support/examples/complete-lifecycle-example.md +449 -449
  60. package/augment-extensions/workflows/adr-support/examples/integration-example.md +580 -580
  61. package/augment-extensions/workflows/adr-support/examples/superseding-example.md +436 -436
  62. package/augment-extensions/workflows/adr-support/module.json +112 -112
  63. package/augment-extensions/workflows/adr-support/rules/adr-creation.md +372 -372
  64. package/augment-extensions/workflows/adr-support/rules/beads-integration.md +443 -443
  65. package/augment-extensions/workflows/adr-support/rules/conflict-detection.md +486 -486
  66. package/augment-extensions/workflows/adr-support/rules/decision-detection.md +362 -362
  67. package/augment-extensions/workflows/adr-support/rules/lifecycle-management.md +427 -427
  68. package/augment-extensions/workflows/adr-support/rules/openspec-integration.md +465 -465
  69. package/augment-extensions/workflows/adr-support/rules/template-selection.md +405 -405
  70. package/augment-extensions/workflows/adr-support/rules/validation-rules.md +543 -543
  71. package/augment-extensions/workflows/adr-support/schemas/adr-config.json +191 -191
  72. package/augment-extensions/workflows/adr-support/schemas/adr-metadata.json +172 -172
  73. package/augment-extensions/workflows/adr-support/templates/business-case.md +235 -235
  74. package/augment-extensions/workflows/adr-support/templates/madr-elaborate.md +197 -197
  75. package/augment-extensions/workflows/adr-support/templates/madr-simple.md +68 -68
  76. package/augment-extensions/workflows/adr-support/templates/nygard.md +84 -84
  77. package/augment-extensions/writing-standards/screenplay/rules/file-organization.md +213 -213
  78. package/augment-extensions/writing-standards/screenplay/utils/__tests__/file-organization.test.ts +169 -169
  79. package/augment-extensions/writing-standards/screenplay/utils/file-organization.ts +165 -165
  80. package/cli/dist/commands/agent.d.ts +37 -0
  81. package/cli/dist/commands/agent.d.ts.map +1 -0
  82. package/cli/dist/commands/agent.js +222 -0
  83. package/cli/dist/commands/agent.js.map +1 -0
  84. package/cli/dist/commands/beads.d.ts +64 -0
  85. package/cli/dist/commands/beads.d.ts.map +1 -0
  86. package/cli/dist/commands/beads.js +377 -0
  87. package/cli/dist/commands/beads.js.map +1 -0
  88. package/cli/dist/commands/change.d.ts +54 -0
  89. package/cli/dist/commands/change.d.ts.map +1 -0
  90. package/cli/dist/commands/change.js +243 -0
  91. package/cli/dist/commands/change.js.map +1 -0
  92. package/cli/dist/commands/clean.d.ts +15 -0
  93. package/cli/dist/commands/clean.d.ts.map +1 -0
  94. package/cli/dist/commands/clean.js +63 -0
  95. package/cli/dist/commands/clean.js.map +1 -0
  96. package/cli/dist/commands/clone.d.ts +15 -0
  97. package/cli/dist/commands/clone.d.ts.map +1 -0
  98. package/cli/dist/commands/clone.js +49 -0
  99. package/cli/dist/commands/clone.js.map +1 -0
  100. package/cli/dist/commands/config.d.ts +33 -0
  101. package/cli/dist/commands/config.d.ts.map +1 -0
  102. package/cli/dist/commands/config.js +166 -0
  103. package/cli/dist/commands/config.js.map +1 -0
  104. package/cli/dist/commands/context.d.ts +38 -0
  105. package/cli/dist/commands/context.d.ts.map +1 -0
  106. package/cli/dist/commands/context.js +205 -0
  107. package/cli/dist/commands/context.js.map +1 -0
  108. package/cli/dist/commands/create.d.ts +18 -0
  109. package/cli/dist/commands/create.d.ts.map +1 -0
  110. package/cli/dist/commands/create.js +178 -0
  111. package/cli/dist/commands/create.js.map +1 -0
  112. package/cli/dist/commands/diff.d.ts +19 -0
  113. package/cli/dist/commands/diff.d.ts.map +1 -0
  114. package/cli/dist/commands/diff.js +104 -0
  115. package/cli/dist/commands/diff.js.map +1 -0
  116. package/cli/dist/commands/doctor.d.ts +14 -0
  117. package/cli/dist/commands/doctor.d.ts.map +1 -0
  118. package/cli/dist/commands/doctor.js +62 -0
  119. package/cli/dist/commands/doctor.js.map +1 -0
  120. package/cli/dist/commands/export.d.ts +28 -0
  121. package/cli/dist/commands/export.d.ts.map +1 -0
  122. package/cli/dist/commands/export.js +135 -0
  123. package/cli/dist/commands/export.js.map +1 -0
  124. package/cli/dist/commands/import.d.ts +23 -0
  125. package/cli/dist/commands/import.d.ts.map +1 -0
  126. package/cli/dist/commands/import.js +118 -0
  127. package/cli/dist/commands/import.js.map +1 -0
  128. package/cli/dist/commands/prompt.d.ts +45 -0
  129. package/cli/dist/commands/prompt.d.ts.map +1 -0
  130. package/cli/dist/commands/prompt.js +223 -0
  131. package/cli/dist/commands/prompt.js.map +1 -0
  132. package/cli/dist/commands/spec.d.ts +57 -0
  133. package/cli/dist/commands/spec.d.ts.map +1 -0
  134. package/cli/dist/commands/spec.js +279 -0
  135. package/cli/dist/commands/spec.js.map +1 -0
  136. package/cli/dist/commands/stats.d.ts +18 -0
  137. package/cli/dist/commands/stats.d.ts.map +1 -0
  138. package/cli/dist/commands/stats.js +85 -0
  139. package/cli/dist/commands/stats.js.map +1 -0
  140. package/cli/dist/commands/task.d.ts +65 -0
  141. package/cli/dist/commands/task.d.ts.map +1 -0
  142. package/cli/dist/commands/task.js +282 -0
  143. package/cli/dist/commands/task.js.map +1 -0
  144. package/cli/dist/commands/template.d.ts +17 -0
  145. package/cli/dist/commands/template.d.ts.map +1 -0
  146. package/cli/dist/commands/template.js +55 -0
  147. package/cli/dist/commands/template.js.map +1 -0
  148. package/cli/dist/utils/agent-config.d.ts +129 -0
  149. package/cli/dist/utils/agent-config.d.ts.map +1 -0
  150. package/cli/dist/utils/agent-config.js +297 -0
  151. package/cli/dist/utils/agent-config.js.map +1 -0
  152. package/cli/dist/utils/auto-sync.js +19 -19
  153. package/cli/dist/utils/beads-graph.d.ts +17 -0
  154. package/cli/dist/utils/beads-graph.d.ts.map +1 -0
  155. package/cli/dist/utils/beads-graph.js +150 -0
  156. package/cli/dist/utils/beads-graph.js.map +1 -0
  157. package/cli/dist/utils/beads-integration.d.ts +112 -0
  158. package/cli/dist/utils/beads-integration.d.ts.map +1 -0
  159. package/cli/dist/utils/beads-integration.js +312 -0
  160. package/cli/dist/utils/beads-integration.js.map +1 -0
  161. package/cli/dist/utils/beads-reporter.d.ts +17 -0
  162. package/cli/dist/utils/beads-reporter.d.ts.map +1 -0
  163. package/cli/dist/utils/beads-reporter.js +160 -0
  164. package/cli/dist/utils/beads-reporter.js.map +1 -0
  165. package/cli/dist/utils/cache-manager.d.ts +55 -0
  166. package/cli/dist/utils/cache-manager.d.ts.map +1 -0
  167. package/cli/dist/utils/cache-manager.js +150 -0
  168. package/cli/dist/utils/cache-manager.js.map +1 -0
  169. package/cli/dist/utils/change-manager.d.ts +70 -0
  170. package/cli/dist/utils/change-manager.d.ts.map +1 -0
  171. package/cli/dist/utils/change-manager.js +412 -0
  172. package/cli/dist/utils/change-manager.js.map +1 -0
  173. package/cli/dist/utils/config-manager-enhanced.d.ts +66 -0
  174. package/cli/dist/utils/config-manager-enhanced.d.ts.map +1 -0
  175. package/cli/dist/utils/config-manager-enhanced.js +77 -0
  176. package/cli/dist/utils/config-manager-enhanced.js.map +1 -0
  177. package/cli/dist/utils/context-manager.d.ts +96 -0
  178. package/cli/dist/utils/context-manager.d.ts.map +1 -0
  179. package/cli/dist/utils/context-manager.js +258 -0
  180. package/cli/dist/utils/context-manager.js.map +1 -0
  181. package/cli/dist/utils/diff-engine.d.ts +78 -0
  182. package/cli/dist/utils/diff-engine.d.ts.map +1 -0
  183. package/cli/dist/utils/diff-engine.js +233 -0
  184. package/cli/dist/utils/diff-engine.js.map +1 -0
  185. package/cli/dist/utils/export-system.d.ts +101 -0
  186. package/cli/dist/utils/export-system.d.ts.map +1 -0
  187. package/cli/dist/utils/export-system.js +289 -0
  188. package/cli/dist/utils/export-system.js.map +1 -0
  189. package/cli/dist/utils/health-checker.d.ts +66 -0
  190. package/cli/dist/utils/health-checker.d.ts.map +1 -0
  191. package/cli/dist/utils/health-checker.js +285 -0
  192. package/cli/dist/utils/health-checker.js.map +1 -0
  193. package/cli/dist/utils/import-system.d.ts +74 -0
  194. package/cli/dist/utils/import-system.d.ts.map +1 -0
  195. package/cli/dist/utils/import-system.js +317 -0
  196. package/cli/dist/utils/import-system.js.map +1 -0
  197. package/cli/dist/utils/module-cloner.d.ts +40 -0
  198. package/cli/dist/utils/module-cloner.d.ts.map +1 -0
  199. package/cli/dist/utils/module-cloner.js +136 -0
  200. package/cli/dist/utils/module-cloner.js.map +1 -0
  201. package/cli/dist/utils/prompt-manager.d.ts +90 -0
  202. package/cli/dist/utils/prompt-manager.d.ts.map +1 -0
  203. package/cli/dist/utils/prompt-manager.js +302 -0
  204. package/cli/dist/utils/prompt-manager.js.map +1 -0
  205. package/cli/dist/utils/spec-manager.d.ts +65 -0
  206. package/cli/dist/utils/spec-manager.d.ts.map +1 -0
  207. package/cli/dist/utils/spec-manager.js +329 -0
  208. package/cli/dist/utils/spec-manager.js.map +1 -0
  209. package/cli/dist/utils/stats-collector.d.ts +74 -0
  210. package/cli/dist/utils/stats-collector.d.ts.map +1 -0
  211. package/cli/dist/utils/stats-collector.js +164 -0
  212. package/cli/dist/utils/stats-collector.js.map +1 -0
  213. package/cli/dist/utils/template-engine.d.ts +47 -0
  214. package/cli/dist/utils/template-engine.d.ts.map +1 -0
  215. package/cli/dist/utils/template-engine.js +204 -0
  216. package/cli/dist/utils/template-engine.js.map +1 -0
  217. package/package.json +12 -3
  218. package/augment-extensions/workflows/openspec/README.md +0 -96
  219. package/augment-extensions/workflows/openspec/examples/complete-change-example.md +0 -244
  220. package/augment-extensions/workflows/openspec/module.json +0 -54
  221. package/augment-extensions/workflows/openspec/rules/best-practices.md +0 -272
  222. package/augment-extensions/workflows/openspec/rules/manual-setup.md +0 -231
  223. package/augment-extensions/workflows/openspec/rules/spec-format.md +0 -236
  224. package/augment-extensions/workflows/openspec/rules/workflow.md +0 -214
  225. package/cli/dist/utils/__tests__/adr-validator.example.d.ts +0 -6
  226. package/cli/dist/utils/__tests__/adr-validator.example.d.ts.map +0 -1
  227. package/cli/dist/utils/__tests__/adr-validator.example.js +0 -148
  228. package/cli/dist/utils/__tests__/adr-validator.example.js.map +0 -1
  229. package/cli/dist/utils/adr-validator.d.ts +0 -65
  230. package/cli/dist/utils/adr-validator.d.ts.map +0 -1
  231. package/cli/dist/utils/adr-validator.js +0 -203
  232. package/cli/dist/utils/adr-validator.js.map +0 -1
@@ -1,272 +0,0 @@
1
- # OpenSpec Best Practices
2
-
3
- ## Change Management
4
-
5
- ### Keep Changes Atomic
6
-
7
- ✅ **Good**: One focused change per folder
8
- ```
9
- openspec/changes/add-2fa/
10
- openspec/changes/add-profile-search/
11
- ```
12
-
13
- ❌ **Bad**: Multiple unrelated changes in one folder
14
- ```
15
- openspec/changes/misc-improvements/ # Too vague
16
- ```
17
-
18
- ### Use Descriptive Names
19
-
20
- ✅ **Good**: Clear, specific names
21
- - `add-2fa`
22
- - `fix-login-timeout`
23
- - `refactor-auth-flow`
24
-
25
- ❌ **Bad**: Generic or cryptic names
26
- - `feature-123`
27
- - `updates`
28
- - `fix`
29
-
30
- ### Review Before Implementation
31
-
32
- Always review and iterate on specs before coding:
33
-
34
- 1. Create proposal and specs
35
- 2. Review with stakeholders
36
- 3. Refine until agreement
37
- 4. Then implement
38
-
39
- **Why**: Catching issues in specs is 10x cheaper than in code.
40
-
41
- ## Specification Writing
42
-
43
- ### Be Specific
44
-
45
- ✅ **Good**: Concrete, testable requirements
46
- ```markdown
47
- ### Requirement: Session Timeout
48
- The system SHALL terminate sessions after 30 minutes of inactivity.
49
-
50
- #### Scenario: Inactive session
51
- - GIVEN a user is logged in
52
- - WHEN 30 minutes pass with no activity
53
- - THEN the session is terminated
54
- - AND the user is redirected to login
55
- ```
56
-
57
- ❌ **Bad**: Vague requirements
58
- ```markdown
59
- ### Requirement: Security
60
- The system should be secure.
61
- ```
62
-
63
- ### Include Edge Cases
64
-
65
- ✅ **Good**: Cover error scenarios
66
- ```markdown
67
- #### Scenario: Invalid OTP
68
- - WHEN a user submits an invalid OTP
69
- - THEN an error message is displayed
70
- - AND the user can retry up to 3 times
71
- - AND after 3 failures, the account is locked
72
-
73
- #### Scenario: Expired OTP
74
- - WHEN a user submits an expired OTP (>5 minutes old)
75
- - THEN an error message is displayed
76
- - AND a new OTP can be requested
77
- ```
78
-
79
- ### Use Consistent Language
80
-
81
- - **SHALL** - Mandatory requirement
82
- - **MUST** - Mandatory requirement (stronger emphasis)
83
- - **SHOULD** - Recommended but not mandatory
84
- - **MAY** - Optional feature
85
-
86
- ## Task Management
87
-
88
- ### Break Down Large Tasks
89
-
90
- ✅ **Good**: Granular, actionable tasks
91
- ```markdown
92
- ## 2. Backend Implementation
93
- - [ ] 2.1 Create OTP model with secret and expiry fields
94
- - [ ] 2.2 Add OTP generation function using TOTP algorithm
95
- - [ ] 2.3 Add OTP verification function with rate limiting
96
- - [ ] 2.4 Update login endpoint to require OTP
97
- - [ ] 2.5 Add OTP enrollment endpoint
98
- ```
99
-
100
- ❌ **Bad**: Vague, large tasks
101
- ```markdown
102
- ## 2. Backend
103
- - [ ] 2.1 Implement 2FA
104
- ```
105
-
106
- ### Group Related Tasks
107
-
108
- Organize tasks by phase or component:
109
-
110
- ```markdown
111
- ## 1. Database Setup
112
- - [ ] 1.1 Add OTP secret column
113
- - [ ] 1.2 Add OTP logs table
114
- - [ ] 1.3 Create migration
115
-
116
- ## 2. Backend API
117
- - [ ] 2.1 OTP generation endpoint
118
- - [ ] 2.2 OTP verification endpoint
119
-
120
- ## 3. Frontend UI
121
- - [ ] 3.1 OTP input component
122
- - [ ] 3.2 Update login flow
123
- ```
124
-
125
- ### Update Tasks During Implementation
126
-
127
- If scope changes during implementation, update tasks.md:
128
-
129
- ```markdown
130
- ## 2. Backend Implementation
131
- - [x] 2.1 Create OTP model
132
- - [x] 2.2 Add OTP generation
133
- - [ ] 2.3 Add OTP verification
134
- - [ ] 2.4 Add rate limiting (ADDED during implementation)
135
- ```
136
-
137
- ## Multi-Spec Changes
138
-
139
- ### When Changes Affect Multiple Components
140
-
141
- Create deltas for each affected spec:
142
-
143
- ```
144
- openspec/changes/add-user-roles/
145
- ├── proposal.md
146
- ├── tasks.md
147
- └── specs/
148
- ├── auth/
149
- │ └── spec.md # Auth changes
150
- ├── users/
151
- │ └── spec.md # User model changes
152
- └── permissions/
153
- └── spec.md # Permission system changes
154
- ```
155
-
156
- ### Reference Dependencies
157
-
158
- In proposal.md, note cross-component dependencies:
159
-
160
- ```markdown
161
- ## Dependencies
162
- - Auth spec changes depend on User model changes
163
- - Permission checks require Auth changes to be complete
164
- ```
165
-
166
- ## Archiving
167
-
168
- ### Archive Promptly
169
-
170
- Don't let completed changes accumulate in `openspec/changes/`:
171
-
172
- ```bash
173
- # With CLI
174
- openspec archive add-2fa --yes
175
-
176
- # Without CLI - move to archive
177
- mv openspec/changes/add-2fa openspec/archive/
178
- ```
179
-
180
- ### Keep Archive Organized
181
-
182
- Archive folder structure:
183
-
184
- ```
185
- openspec/archive/
186
- ├── 2024-01-add-2fa/
187
- ├── 2024-01-profile-search/
188
- └── 2024-02-role-permissions/
189
- ```
190
-
191
- Consider adding date prefixes for chronological ordering.
192
-
193
- ## Project Context
194
-
195
- ### Keep project.md Updated
196
-
197
- Update `openspec/project.md` when:
198
- - Tech stack changes
199
- - New conventions are adopted
200
- - Architecture evolves
201
- - New guidelines are established
202
-
203
- ### Include Examples
204
-
205
- Add examples to project.md:
206
-
207
- ```markdown
208
- ## Naming Conventions
209
-
210
- ### API Endpoints
211
- - Use kebab-case: `/api/user-profiles`
212
- - Use plural nouns: `/api/users` not `/api/user`
213
- - Version with prefix: `/api/v1/users`
214
-
215
- ### Database Tables
216
- - Use snake_case: `user_profiles`
217
- - Use plural nouns: `users` not `user`
218
- ```
219
-
220
- ## AI Agent Collaboration
221
-
222
- ### Provide Context
223
-
224
- When asking AI to create changes:
225
-
226
- ```
227
- Create an OpenSpec change for adding role-based permissions.
228
- Context: We have 3 roles (admin, editor, viewer) and need to restrict
229
- access to certain API endpoints based on role.
230
- ```
231
-
232
- ### Iterate on Specs
233
-
234
- Don't accept first draft:
235
-
236
- ```
237
- The spec looks good, but can you add scenarios for:
238
- 1. What happens when a user has multiple roles?
239
- 2. How do we handle role changes for active sessions?
240
- ```
241
-
242
- ### Reference Existing Specs
243
-
244
- When implementing:
245
-
246
- ```
247
- Please implement the tasks in openspec/changes/add-roles/tasks.md
248
- Make sure to follow the patterns established in openspec/specs/auth/spec.md
249
- ```
250
-
251
- ## Common Pitfalls
252
-
253
- ### ❌ Skipping Spec Review
254
-
255
- Don't jump straight to implementation. Review specs first.
256
-
257
- ### ❌ Vague Requirements
258
-
259
- Avoid "should work well" or "be fast". Be specific with numbers and behaviors.
260
-
261
- ### ❌ Missing Scenarios
262
-
263
- Every requirement needs at least one scenario showing how it works.
264
-
265
- ### ❌ Forgetting to Archive
266
-
267
- Clean up completed changes to keep the workspace organized.
268
-
269
- ### ❌ Mixing Concerns
270
-
271
- Keep each change focused on one feature or fix.
272
-
@@ -1,231 +0,0 @@
1
- # OpenSpec Manual Setup (Without CLI)
2
-
3
- ## Overview
4
-
5
- You can use the OpenSpec workflow without installing the CLI. This guide shows how to set up and use OpenSpec manually.
6
-
7
- ## Initial Setup
8
-
9
- ### 1. Create Directory Structure
10
-
11
- ```bash
12
- mkdir -p openspec/specs
13
- mkdir -p openspec/changes
14
- mkdir -p openspec/archive
15
- ```
16
-
17
- ### 2. Create Project Context File
18
-
19
- Create `openspec/project.md`:
20
-
21
- ```markdown
22
- # Project Context
23
-
24
- ## Overview
25
- [Brief description of your project]
26
-
27
- ## Tech Stack
28
- - Language: [e.g., TypeScript, Python]
29
- - Framework: [e.g., React, Django]
30
- - Database: [e.g., PostgreSQL, MongoDB]
31
-
32
- ## Conventions
33
- - Code style: [e.g., ESLint, Black]
34
- - Testing: [e.g., Jest, pytest]
35
- - Naming: [e.g., camelCase for variables]
36
-
37
- ## Architecture
38
- [High-level architecture notes]
39
-
40
- ## Guidelines
41
- [Project-specific rules and patterns]
42
- ```
43
-
44
- ### 3. Create AGENTS.md Integration
45
-
46
- Add to your project's `AGENTS.md` (or create it):
47
-
48
- ```markdown
49
- # OpenSpec Workflow
50
-
51
- This project uses OpenSpec for spec-driven development.
52
-
53
- ## Directory Structure
54
-
55
- - `openspec/specs/` - Current specifications (source of truth)
56
- - `openspec/changes/` - Proposed changes (work in progress)
57
- - `openspec/archive/` - Completed changes
58
- - `openspec/project.md` - Project context and conventions
59
-
60
- ## Workflow
61
-
62
- ### Creating a Change
63
-
64
- 1. Create a new folder: `openspec/changes/<change-name>/`
65
- 2. Add `proposal.md` - Why and what
66
- 3. Add `tasks.md` - Implementation checklist
67
- 4. Add `specs/<component>/spec.md` - Spec deltas
68
-
69
- ### Implementing a Change
70
-
71
- 1. Read the spec deltas in `openspec/changes/<change-name>/specs/`
72
- 2. Work through `tasks.md` sequentially
73
- 3. Mark tasks complete: `- [x]` as you finish
74
- 4. Reference specs when making implementation decisions
75
-
76
- ### Archiving a Change
77
-
78
- 1. Copy spec deltas to `openspec/specs/`
79
- 2. Apply ADDED/MODIFIED/REMOVED sections
80
- 3. Move change folder to `openspec/archive/<change-name>/`
81
-
82
- ## Spec Format
83
-
84
- See the spec format guide for details on writing specifications.
85
-
86
- ### Delta Sections
87
-
88
- - `## ADDED Requirements` - New capabilities
89
- - `## MODIFIED Requirements` - Changed behavior
90
- - `## REMOVED Requirements` - Deprecated features
91
-
92
- ### Requirement Format
93
-
94
- ```markdown
95
- ### Requirement: <Name>
96
- The system SHALL <requirement>.
97
-
98
- #### Scenario: <Name>
99
- - WHEN <condition>
100
- - THEN <result>
101
- ```
102
- ```
103
-
104
- ### 4. Add to .gitignore (Optional)
105
-
106
- If you want to keep changes private:
107
-
108
- ```bash
109
- echo "openspec/changes/" >> .gitignore
110
- ```
111
-
112
- ## Creating Your First Change
113
-
114
- ### 1. Create Change Folder
115
-
116
- ```bash
117
- mkdir -p openspec/changes/add-feature-x
118
- ```
119
-
120
- ### 2. Create Proposal
121
-
122
- Create `openspec/changes/add-feature-x/proposal.md`:
123
-
124
- ```markdown
125
- # Add Feature X
126
-
127
- ## Motivation
128
- [Why this change is needed]
129
-
130
- ## Changes
131
- - [What will change]
132
- - [What components are affected]
133
-
134
- ## Impact
135
- - [Breaking changes]
136
- - [Migration requirements]
137
- - [Dependencies]
138
- ```
139
-
140
- ### 3. Create Tasks
141
-
142
- Create `openspec/changes/add-feature-x/tasks.md`:
143
-
144
- ```markdown
145
- ## 1. [Phase Name]
146
- - [ ] 1.1 [Task description]
147
- - [ ] 1.2 [Task description]
148
-
149
- ## 2. [Phase Name]
150
- - [ ] 2.1 [Task description]
151
- - [ ] 2.2 [Task description]
152
- ```
153
-
154
- ### 4. Create Spec Deltas
155
-
156
- Create `openspec/changes/add-feature-x/specs/<component>/spec.md`:
157
-
158
- ```markdown
159
- # Delta for <Component>
160
-
161
- ## ADDED Requirements
162
-
163
- ### Requirement: <Name>
164
- The system SHALL <requirement>.
165
-
166
- #### Scenario: <Name>
167
- - WHEN <condition>
168
- - THEN <result>
169
- ```
170
-
171
- ## Working with AI Agents
172
-
173
- ### Creating a Change
174
-
175
- Ask your AI:
176
-
177
- ```
178
- Create a new OpenSpec change in openspec/changes/add-search-filters/ with:
179
- 1. proposal.md explaining why we need search filters
180
- 2. tasks.md with implementation steps
181
- 3. specs/search/spec.md with the new requirements
182
- ```
183
-
184
- ### Implementing
185
-
186
- Ask your AI:
187
-
188
- ```
189
- Please implement the tasks in openspec/changes/add-search-filters/tasks.md
190
- Reference the specs in openspec/changes/add-search-filters/specs/ for requirements
191
- Mark each task complete as you finish
192
- ```
193
-
194
- ### Archiving
195
-
196
- Ask your AI:
197
-
198
- ```
199
- Please archive the add-search-filters change:
200
- 1. Copy spec deltas from openspec/changes/add-search-filters/specs/ to openspec/specs/
201
- 2. Apply the ADDED/MODIFIED/REMOVED sections to the source specs
202
- 3. Move openspec/changes/add-search-filters/ to openspec/archive/
203
- ```
204
-
205
- ## Limitations Without CLI
206
-
207
- - ❌ No automatic validation
208
- - ❌ No slash commands (unless manually configured)
209
- - ❌ Manual archiving process
210
- - ❌ No auto-generated AGENTS.md updates
211
-
212
- ## Benefits Without CLI
213
-
214
- - ✅ No installation required
215
- - ✅ Works immediately
216
- - ✅ Full control over file structure
217
- - ✅ Compatible with all AI agents
218
- - ✅ Simple git workflow
219
-
220
- ## Upgrading to CLI Later
221
-
222
- If you decide to install the CLI later:
223
-
224
- ```bash
225
- npm install -g @fission-ai/openspec@latest
226
- cd your-project
227
- openspec init
228
- ```
229
-
230
- The CLI will detect your existing structure and integrate with it.
231
-