opencode-sdlc-plugin 0.2.1 → 0.3.2

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 (72) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +127 -38
  3. package/commands/sdlc-adr.md +245 -17
  4. package/commands/sdlc-debug.md +376 -0
  5. package/commands/sdlc-design.md +205 -47
  6. package/commands/sdlc-dev.md +544 -0
  7. package/commands/sdlc-info.md +325 -0
  8. package/commands/sdlc-parallel.md +283 -0
  9. package/commands/sdlc-recall.md +203 -8
  10. package/commands/sdlc-remember.md +126 -9
  11. package/commands/sdlc-research.md +343 -0
  12. package/commands/sdlc-review.md +201 -128
  13. package/commands/sdlc-status.md +297 -0
  14. package/config/presets/copilot-only.json +69 -0
  15. package/config/presets/enterprise.json +79 -0
  16. package/config/presets/event-modeling.json +74 -8
  17. package/config/presets/minimal.json +70 -0
  18. package/config/presets/solo-quick.json +70 -0
  19. package/config/presets/standard.json +78 -0
  20. package/config/presets/strict-tdd.json +79 -0
  21. package/config/schemas/athena.schema.json +338 -0
  22. package/config/schemas/sdlc.schema.json +442 -26
  23. package/dist/cli/index.d.ts +2 -1
  24. package/dist/cli/index.js +4285 -562
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/index.d.ts +1781 -1
  27. package/dist/index.js +7759 -395
  28. package/dist/index.js.map +1 -1
  29. package/dist/plugin/index.d.ts +17 -2
  30. package/dist/plugin/index.js +7730 -397
  31. package/dist/plugin/index.js.map +1 -1
  32. package/package.json +68 -33
  33. package/prompts/agents/code-reviewer.md +229 -0
  34. package/prompts/agents/domain.md +210 -0
  35. package/prompts/agents/green.md +148 -0
  36. package/prompts/agents/mutation.md +278 -0
  37. package/prompts/agents/red.md +112 -0
  38. package/prompts/event-modeling/discovery.md +176 -0
  39. package/prompts/event-modeling/gwt-generation.md +479 -0
  40. package/prompts/event-modeling/workflow-design.md +318 -0
  41. package/prompts/personas/amelia-developer.md +43 -0
  42. package/prompts/personas/bob-sm.md +43 -0
  43. package/prompts/personas/john-pm.md +43 -0
  44. package/prompts/personas/mary-analyst.md +43 -0
  45. package/prompts/personas/murat-tester.md +43 -0
  46. package/prompts/personas/paige-techwriter.md +43 -0
  47. package/prompts/personas/sally-ux.md +43 -0
  48. package/prompts/personas/winston-architect.md +43 -0
  49. package/agents/design-facilitator.md +0 -8
  50. package/agents/domain.md +0 -9
  51. package/agents/exploration.md +0 -8
  52. package/agents/green.md +0 -9
  53. package/agents/marvin.md +0 -15
  54. package/agents/model-checker.md +0 -9
  55. package/agents/red.md +0 -9
  56. package/commands/sdlc-domain-audit.md +0 -32
  57. package/commands/sdlc-plan.md +0 -63
  58. package/commands/sdlc-pr.md +0 -43
  59. package/commands/sdlc-setup.md +0 -50
  60. package/commands/sdlc-start.md +0 -34
  61. package/commands/sdlc-work.md +0 -118
  62. package/config/presets/traditional.json +0 -12
  63. package/skills/adr-policy.md +0 -21
  64. package/skills/atomic-design.md +0 -39
  65. package/skills/debugging-protocol.md +0 -47
  66. package/skills/event-modeling.md +0 -40
  67. package/skills/git-spice.md +0 -44
  68. package/skills/github-issues.md +0 -44
  69. package/skills/memory-protocol.md +0 -41
  70. package/skills/orchestration.md +0 -118
  71. package/skills/skill-enforcement.md +0 -56
  72. package/skills/tdd-constraints.md +0 -63
@@ -0,0 +1,338 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "OpenCode Athena Configuration",
4
+ "description": "Configuration schema for OpenCode Athena - Strategic wisdom meets practical execution",
5
+ "type": "object",
6
+ "properties": {
7
+ "$schema": {
8
+ "type": "string",
9
+ "description": "JSON Schema reference"
10
+ },
11
+ "version": {
12
+ "type": "string",
13
+ "description": "OpenCode Athena version"
14
+ },
15
+ "subscriptions": {
16
+ "type": "object",
17
+ "description": "LLM subscription configuration",
18
+ "properties": {
19
+ "claude": {
20
+ "type": "object",
21
+ "properties": {
22
+ "enabled": { "type": "boolean" },
23
+ "tier": {
24
+ "type": "string",
25
+ "enum": ["none", "pro", "max5x", "max20x"]
26
+ }
27
+ },
28
+ "required": ["enabled", "tier"]
29
+ },
30
+ "openai": {
31
+ "type": "object",
32
+ "properties": {
33
+ "enabled": { "type": "boolean" }
34
+ },
35
+ "required": ["enabled"]
36
+ },
37
+ "google": {
38
+ "type": "object",
39
+ "properties": {
40
+ "enabled": { "type": "boolean" },
41
+ "authMethod": {
42
+ "type": "string",
43
+ "enum": ["none", "antigravity", "personal", "api"]
44
+ }
45
+ },
46
+ "required": ["enabled", "authMethod"]
47
+ },
48
+ "githubCopilot": {
49
+ "type": "object",
50
+ "properties": {
51
+ "enabled": { "type": "boolean" },
52
+ "plan": {
53
+ "type": "string",
54
+ "enum": ["none", "free", "pro", "pro-plus", "business", "enterprise"]
55
+ },
56
+ "enabledModels": {
57
+ "type": "array",
58
+ "items": { "type": "string" },
59
+ "description": "Optional: specific models enabled by organization admin"
60
+ }
61
+ },
62
+ "required": ["enabled", "plan"]
63
+ }
64
+ },
65
+ "required": ["claude", "openai", "google", "githubCopilot"]
66
+ },
67
+ "models": {
68
+ "type": "object",
69
+ "description": "Agent model assignments",
70
+ "properties": {
71
+ "sisyphus": {
72
+ "type": "string",
73
+ "description": "Model for main orchestrator agent"
74
+ },
75
+ "oracle": {
76
+ "type": "string",
77
+ "description": "Model for debugging/reasoning agent"
78
+ },
79
+ "librarian": {
80
+ "type": "string",
81
+ "description": "Model for research/documentation agent"
82
+ },
83
+ "frontend": {
84
+ "type": "string",
85
+ "description": "Model for UI/UX agent"
86
+ },
87
+ "documentWriter": {
88
+ "type": "string",
89
+ "description": "Model for documentation generation agent"
90
+ },
91
+ "multimodalLooker": {
92
+ "type": "string",
93
+ "description": "Model for image analysis agent"
94
+ },
95
+ "explore": {
96
+ "type": "string",
97
+ "description": "Model for fast codebase exploration agent"
98
+ },
99
+ "settings": {
100
+ "type": "object",
101
+ "description": "Optional agent-specific settings for temperature and thinking level",
102
+ "properties": {
103
+ "sisyphus": { "$ref": "#/definitions/agentSettings" },
104
+ "oracle": { "$ref": "#/definitions/agentSettings" },
105
+ "librarian": { "$ref": "#/definitions/agentSettings" },
106
+ "frontend": { "$ref": "#/definitions/agentSettings" },
107
+ "documentWriter": { "$ref": "#/definitions/agentSettings" },
108
+ "multimodalLooker": { "$ref": "#/definitions/agentSettings" },
109
+ "explore": { "$ref": "#/definitions/agentSettings" },
110
+ "overrides": {
111
+ "type": "object",
112
+ "description": "Per-model overrides (key: model ID, value: settings)",
113
+ "additionalProperties": { "$ref": "#/definitions/agentSettings" }
114
+ }
115
+ }
116
+ },
117
+ "custom": {
118
+ "type": "array",
119
+ "description": "User-defined custom models",
120
+ "items": { "$ref": "#/definitions/customModel" }
121
+ }
122
+ },
123
+ "required": ["sisyphus", "oracle", "librarian"]
124
+ },
125
+ "bmad": {
126
+ "type": "object",
127
+ "description": "BMAD METHOD integration settings",
128
+ "properties": {
129
+ "defaultTrack": {
130
+ "type": "string",
131
+ "enum": ["quick-flow", "bmad-method", "enterprise"],
132
+ "default": "bmad-method"
133
+ },
134
+ "autoStatusUpdate": {
135
+ "type": "boolean",
136
+ "default": true
137
+ },
138
+ "parallelStoryLimit": {
139
+ "type": "number",
140
+ "default": 3,
141
+ "minimum": 0,
142
+ "maximum": 10
143
+ },
144
+ "paths": {
145
+ "type": "object",
146
+ "description": "Optional path overrides for BMAD artifacts (null = auto-detect)",
147
+ "properties": {
148
+ "stories": {
149
+ "type": ["string", "null"],
150
+ "description": "Custom path to stories directory (null = auto-detect nested or flat structure)",
151
+ "default": null
152
+ },
153
+ "sprintStatus": {
154
+ "type": ["string", "null"],
155
+ "description": "Custom path to sprint-status.yaml file (null = auto-detect with case-insensitive search)",
156
+ "default": null
157
+ },
158
+ "prd": {
159
+ "type": ["string", "null"],
160
+ "description": "Custom path to PRD.md file (null = auto-detect with case-insensitive search)",
161
+ "default": null
162
+ },
163
+ "architecture": {
164
+ "type": ["string", "null"],
165
+ "description": "Custom path to architecture.md file (null = auto-detect with case-insensitive search)",
166
+ "default": null
167
+ },
168
+ "epics": {
169
+ "type": ["string", "null"],
170
+ "description": "Custom path to epics.md file (null = auto-detect with case-insensitive search)",
171
+ "default": null
172
+ }
173
+ }
174
+ }
175
+ },
176
+ "required": ["defaultTrack", "autoStatusUpdate", "parallelStoryLimit"]
177
+ },
178
+ "features": {
179
+ "type": "object",
180
+ "description": "Feature toggles",
181
+ "properties": {
182
+ "bmadBridge": { "type": "boolean", "default": true },
183
+ "autoStatus": { "type": "boolean", "default": true },
184
+ "parallelExecution": { "type": "boolean", "default": true },
185
+ "notifications": { "type": "boolean", "default": true },
186
+ "contextMonitor": { "type": "boolean", "default": true },
187
+ "commentChecker": { "type": "boolean", "default": true },
188
+ "lspTools": { "type": "boolean", "default": true },
189
+ "autoGitOperations": { "type": "boolean", "default": false, "description": "Allow agents to perform git/gh operations automatically (false = requires explicit user permission)" }
190
+ }
191
+ },
192
+ "mcps": {
193
+ "type": "object",
194
+ "description": "MCP server toggles",
195
+ "properties": {
196
+ "context7": { "type": "boolean", "default": true },
197
+ "exa": { "type": "boolean", "default": true },
198
+ "grepApp": { "type": "boolean", "default": true }
199
+ }
200
+ },
201
+ "routing": {
202
+ "type": "object",
203
+ "description": "Provider routing and fallback configuration",
204
+ "properties": {
205
+ "providerPriority": {
206
+ "type": "array",
207
+ "description": "Global provider priority order",
208
+ "items": {
209
+ "type": "string",
210
+ "enum": ["anthropic", "openai", "google", "github-copilot"]
211
+ }
212
+ },
213
+ "modelFamilyPriority": {
214
+ "type": "object",
215
+ "description": "Per-model-family provider priority",
216
+ "properties": {
217
+ "claude": {
218
+ "type": "array",
219
+ "items": { "type": "string" }
220
+ },
221
+ "gpt": {
222
+ "type": "array",
223
+ "items": { "type": "string" }
224
+ },
225
+ "gemini": {
226
+ "type": "array",
227
+ "items": { "type": "string" }
228
+ }
229
+ }
230
+ },
231
+ "agentOverrides": {
232
+ "type": "object",
233
+ "description": "Per-agent routing overrides",
234
+ "properties": {
235
+ "sisyphus": { "$ref": "#/definitions/agentRouting" },
236
+ "oracle": { "$ref": "#/definitions/agentRouting" },
237
+ "librarian": { "$ref": "#/definitions/agentRouting" },
238
+ "frontend": { "$ref": "#/definitions/agentRouting" },
239
+ "documentWriter": { "$ref": "#/definitions/agentRouting" },
240
+ "multimodalLooker": { "$ref": "#/definitions/agentRouting" }
241
+ }
242
+ },
243
+ "fallbackBehavior": {
244
+ "type": "object",
245
+ "description": "Rate limit handling configuration",
246
+ "properties": {
247
+ "autoFallback": {
248
+ "type": "boolean",
249
+ "description": "Automatically fallback to next provider on rate limit",
250
+ "default": false
251
+ },
252
+ "retryPeriodMs": {
253
+ "type": "number",
254
+ "description": "How long to wait before retrying original provider (milliseconds)",
255
+ "default": 60000,
256
+ "minimum": 0
257
+ },
258
+ "notifyOnRateLimit": {
259
+ "type": "boolean",
260
+ "description": "Show notification when rate limit is hit",
261
+ "default": true
262
+ }
263
+ },
264
+ "required": ["autoFallback", "retryPeriodMs", "notifyOnRateLimit"]
265
+ }
266
+ },
267
+ "required": ["providerPriority", "modelFamilyPriority", "agentOverrides", "fallbackBehavior"]
268
+ }
269
+ },
270
+ "required": ["version", "subscriptions", "models", "bmad", "features", "mcps", "routing"],
271
+ "definitions": {
272
+ "agentSettings": {
273
+ "type": "object",
274
+ "description": "Settings for an agent (temperature and thinking level)",
275
+ "properties": {
276
+ "temperature": {
277
+ "type": "number",
278
+ "minimum": 0,
279
+ "maximum": 1,
280
+ "description": "Model temperature (0.0-1.0) - controls randomness/creativity"
281
+ },
282
+ "thinkingLevel": {
283
+ "type": "string",
284
+ "enum": ["off", "low", "medium", "high"],
285
+ "description": "Reasoning depth - maps to reasoning_effort (OpenAI), token budget (Anthropic), thinking_level (Google)"
286
+ }
287
+ }
288
+ },
289
+ "customModel": {
290
+ "type": "object",
291
+ "description": "Custom model definition",
292
+ "properties": {
293
+ "id": {
294
+ "type": "string",
295
+ "description": "Model identifier (e.g., 'anthropic/claude-next-gen')"
296
+ },
297
+ "name": {
298
+ "type": "string",
299
+ "description": "Display name"
300
+ },
301
+ "provider": {
302
+ "type": "string",
303
+ "enum": ["anthropic", "openai", "google", "github-copilot"],
304
+ "description": "Provider name"
305
+ },
306
+ "description": {
307
+ "type": "string",
308
+ "description": "Optional description"
309
+ },
310
+ "capabilities": {
311
+ "type": "object",
312
+ "description": "Model capabilities",
313
+ "properties": {
314
+ "thinking": { "type": "boolean" },
315
+ "contextWindow": { "type": "number" },
316
+ "supportsTemperature": { "type": "boolean" }
317
+ }
318
+ }
319
+ },
320
+ "required": ["id", "name", "provider"]
321
+ },
322
+ "agentRouting": {
323
+ "type": "object",
324
+ "description": "Routing configuration for an agent",
325
+ "properties": {
326
+ "requiresThinking": {
327
+ "type": "boolean",
328
+ "description": "Filter to thinking-capable providers"
329
+ },
330
+ "preferProvider": {
331
+ "type": "string",
332
+ "enum": ["anthropic", "openai", "google", "github-copilot"],
333
+ "description": "Preferred provider for this agent"
334
+ }
335
+ }
336
+ }
337
+ }
338
+ }