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.
- package/LICENSE +18 -0
- package/README.md +127 -38
- package/commands/sdlc-adr.md +245 -17
- package/commands/sdlc-debug.md +376 -0
- package/commands/sdlc-design.md +205 -47
- package/commands/sdlc-dev.md +544 -0
- package/commands/sdlc-info.md +325 -0
- package/commands/sdlc-parallel.md +283 -0
- package/commands/sdlc-recall.md +203 -8
- package/commands/sdlc-remember.md +126 -9
- package/commands/sdlc-research.md +343 -0
- package/commands/sdlc-review.md +201 -128
- package/commands/sdlc-status.md +297 -0
- package/config/presets/copilot-only.json +69 -0
- package/config/presets/enterprise.json +79 -0
- package/config/presets/event-modeling.json +74 -8
- package/config/presets/minimal.json +70 -0
- package/config/presets/solo-quick.json +70 -0
- package/config/presets/standard.json +78 -0
- package/config/presets/strict-tdd.json +79 -0
- package/config/schemas/athena.schema.json +338 -0
- package/config/schemas/sdlc.schema.json +442 -26
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.js +4285 -562
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +1781 -1
- package/dist/index.js +7759 -395
- package/dist/index.js.map +1 -1
- package/dist/plugin/index.d.ts +17 -2
- package/dist/plugin/index.js +7730 -397
- package/dist/plugin/index.js.map +1 -1
- package/package.json +68 -33
- package/prompts/agents/code-reviewer.md +229 -0
- package/prompts/agents/domain.md +210 -0
- package/prompts/agents/green.md +148 -0
- package/prompts/agents/mutation.md +278 -0
- package/prompts/agents/red.md +112 -0
- package/prompts/event-modeling/discovery.md +176 -0
- package/prompts/event-modeling/gwt-generation.md +479 -0
- package/prompts/event-modeling/workflow-design.md +318 -0
- package/prompts/personas/amelia-developer.md +43 -0
- package/prompts/personas/bob-sm.md +43 -0
- package/prompts/personas/john-pm.md +43 -0
- package/prompts/personas/mary-analyst.md +43 -0
- package/prompts/personas/murat-tester.md +43 -0
- package/prompts/personas/paige-techwriter.md +43 -0
- package/prompts/personas/sally-ux.md +43 -0
- package/prompts/personas/winston-architect.md +43 -0
- package/agents/design-facilitator.md +0 -8
- package/agents/domain.md +0 -9
- package/agents/exploration.md +0 -8
- package/agents/green.md +0 -9
- package/agents/marvin.md +0 -15
- package/agents/model-checker.md +0 -9
- package/agents/red.md +0 -9
- package/commands/sdlc-domain-audit.md +0 -32
- package/commands/sdlc-plan.md +0 -63
- package/commands/sdlc-pr.md +0 -43
- package/commands/sdlc-setup.md +0 -50
- package/commands/sdlc-start.md +0 -34
- package/commands/sdlc-work.md +0 -118
- package/config/presets/traditional.json +0 -12
- package/skills/adr-policy.md +0 -21
- package/skills/atomic-design.md +0 -39
- package/skills/debugging-protocol.md +0 -47
- package/skills/event-modeling.md +0 -40
- package/skills/git-spice.md +0 -44
- package/skills/github-issues.md +0 -44
- package/skills/memory-protocol.md +0 -41
- package/skills/orchestration.md +0 -118
- package/skills/skill-enforcement.md +0 -56
- 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
|
+
}
|