@duypham93/openkit 0.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.
- package/.opencode/README.md +47 -0
- package/.opencode/install-manifest.json +41 -0
- package/.opencode/lib/artifact-scaffolder.js +111 -0
- package/.opencode/lib/contract-consistency.js +218 -0
- package/.opencode/lib/parallel-execution-rules.js +261 -0
- package/.opencode/lib/runtime-paths.js +95 -0
- package/.opencode/lib/runtime-summary.js +82 -0
- package/.opencode/lib/state-guard.js +99 -0
- package/.opencode/lib/task-board-rules.js +375 -0
- package/.opencode/lib/work-item-store.js +280 -0
- package/.opencode/lib/workflow-state-controller.js +1739 -0
- package/.opencode/lib/workflow-state-rules.js +331 -0
- package/.opencode/opencode.json +93 -0
- package/.opencode/package.json +3 -0
- package/.opencode/tests/artifact-scaffolder.test.js +733 -0
- package/.opencode/tests/multi-work-item-runtime.test.js +369 -0
- package/.opencode/tests/parallel-execution-runtime.test.js +259 -0
- package/.opencode/tests/session-start-hook.test.js +357 -0
- package/.opencode/tests/state-guard.test.js +124 -0
- package/.opencode/tests/task-board-rules.test.js +204 -0
- package/.opencode/tests/work-item-store.test.js +380 -0
- package/.opencode/tests/workflow-behavior.test.js +149 -0
- package/.opencode/tests/workflow-contract-consistency.test.js +387 -0
- package/.opencode/tests/workflow-state-cli.test.js +1275 -0
- package/.opencode/tests/workflow-state-controller.test.js +1038 -0
- package/.opencode/work-items/feature-001/state.json +70 -0
- package/.opencode/work-items/index.json +13 -0
- package/.opencode/workflow-state.js +489 -0
- package/.opencode/workflow-state.json +70 -0
- package/AGENTS.md +265 -0
- package/README.md +401 -0
- package/agents/architect-agent.md +63 -0
- package/agents/ba-agent.md +56 -0
- package/agents/code-reviewer.md +77 -0
- package/agents/fullstack-agent.md +115 -0
- package/agents/master-orchestrator.md +60 -0
- package/agents/pm-agent.md +56 -0
- package/agents/qa-agent.md +124 -0
- package/agents/tech-lead-agent.md +60 -0
- package/assets/install-bundle/README.md +7 -0
- package/assets/install-bundle/opencode/README.md +11 -0
- package/assets/install-bundle/opencode/agents/ArchitectAgent.md +63 -0
- package/assets/install-bundle/opencode/agents/BAAgent.md +56 -0
- package/assets/install-bundle/opencode/agents/CodeReviewer.md +77 -0
- package/assets/install-bundle/opencode/agents/FullstackAgent.md +115 -0
- package/assets/install-bundle/opencode/agents/MasterOrchestrator.md +60 -0
- package/assets/install-bundle/opencode/agents/PMAgent.md +56 -0
- package/assets/install-bundle/opencode/agents/QAAgent.md +124 -0
- package/assets/install-bundle/opencode/agents/TechLeadAgent.md +60 -0
- package/assets/install-bundle/opencode/commands/brainstorm.md +44 -0
- package/assets/install-bundle/opencode/commands/delivery.md +45 -0
- package/assets/install-bundle/opencode/commands/execute-plan.md +44 -0
- package/assets/install-bundle/opencode/commands/migrate.md +61 -0
- package/assets/install-bundle/opencode/commands/quick-task.md +45 -0
- package/assets/install-bundle/opencode/commands/task.md +46 -0
- package/assets/install-bundle/opencode/commands/write-plan.md +50 -0
- package/assets/install-bundle/opencode/context/core/lane-selection.md +54 -0
- package/assets/install-bundle/opencode/skills/brainstorming/SKILL.md +51 -0
- package/assets/install-bundle/opencode/skills/code-review/SKILL.md +48 -0
- package/assets/install-bundle/opencode/skills/subagent-driven-development/SKILL.md +79 -0
- package/assets/install-bundle/opencode/skills/systematic-debugging/SKILL.md +61 -0
- package/assets/install-bundle/opencode/skills/test-driven-development/SKILL.md +48 -0
- package/assets/install-bundle/opencode/skills/using-skills/SKILL.md +39 -0
- package/assets/install-bundle/opencode/skills/verification-before-completion/SKILL.md +137 -0
- package/assets/install-bundle/opencode/skills/writing-plans/SKILL.md +68 -0
- package/assets/install-bundle/opencode/skills/writing-specs/SKILL.md +47 -0
- package/assets/opencode.json.template +11 -0
- package/assets/openkit-install.json.template +19 -0
- package/bin/openkit.js +9 -0
- package/commands/brainstorm.md +44 -0
- package/commands/delivery.md +45 -0
- package/commands/execute-plan.md +44 -0
- package/commands/migrate.md +61 -0
- package/commands/quick-task.md +45 -0
- package/commands/task.md +46 -0
- package/commands/write-plan.md +50 -0
- package/context/core/approval-gates.md +146 -0
- package/context/core/code-quality.md +42 -0
- package/context/core/issue-routing.md +85 -0
- package/context/core/lane-selection.md +54 -0
- package/context/core/project-config.md +143 -0
- package/context/core/session-resume.md +85 -0
- package/context/core/workflow-state-schema.md +224 -0
- package/context/core/workflow.md +442 -0
- package/context/navigation.md +94 -0
- package/docs/adr/README.md +6 -0
- package/docs/architecture/2026-03-20-task-intake-dashboard.md +54 -0
- package/docs/architecture/README.md +7 -0
- package/docs/briefs/2026-03-20-task-intake-dashboard.md +48 -0
- package/docs/briefs/README.md +7 -0
- package/docs/governance/README.md +25 -0
- package/docs/governance/adr-policy.md +27 -0
- package/docs/governance/definition-of-done.md +17 -0
- package/docs/governance/naming-conventions.md +21 -0
- package/docs/governance/severity-levels.md +12 -0
- package/docs/maintainer/README.md +51 -0
- package/docs/operations/README.md +79 -0
- package/docs/operations/internal-records/2026-03-24-release-checklist.md +79 -0
- package/docs/operations/internal-records/2026-03-24-simplified-install-ux.md +36 -0
- package/docs/operations/internal-records/README.md +18 -0
- package/docs/operations/runbooks/README.md +23 -0
- package/docs/operations/runbooks/openkit-daily-usage.md +288 -0
- package/docs/operations/runbooks/workflow-state-smoke-tests.md +302 -0
- package/docs/operator/README.md +50 -0
- package/docs/plans/2026-03-20-task-intake-dashboard.md +49 -0
- package/docs/plans/2026-03-21-openkit-full-delivery-multi-task-runtime.md +521 -0
- package/docs/plans/2026-03-23-openkit-global-install-runtime.md +157 -0
- package/docs/plans/README.md +7 -0
- package/docs/qa/2026-03-20-task-intake-dashboard.md +41 -0
- package/docs/qa/README.md +7 -0
- package/docs/specs/2026-03-20-task-intake-dashboard.md +50 -0
- package/docs/specs/2026-03-21-openkit-full-delivery-multi-task-runtime.md +462 -0
- package/docs/specs/README.md +7 -0
- package/docs/templates/README.md +36 -0
- package/docs/templates/adr-template.md +18 -0
- package/docs/templates/architecture-template.md +31 -0
- package/docs/templates/implementation-plan-template.md +32 -0
- package/docs/templates/migration-baseline-checklist.md +48 -0
- package/docs/templates/migration-plan-template.md +52 -0
- package/docs/templates/migration-report-template.md +74 -0
- package/docs/templates/migration-verify-checklist.md +39 -0
- package/docs/templates/product-brief-template.md +32 -0
- package/docs/templates/qa-report-template.md +37 -0
- package/docs/templates/quick-task-template.md +36 -0
- package/docs/templates/spec-template.md +31 -0
- package/hooks/hooks.json +16 -0
- package/hooks/session-start +162 -0
- package/package.json +24 -0
- package/registry.json +328 -0
- package/skills/brainstorming/SKILL.md +51 -0
- package/skills/code-review/SKILL.md +48 -0
- package/skills/subagent-driven-development/SKILL.md +79 -0
- package/skills/systematic-debugging/SKILL.md +61 -0
- package/skills/test-driven-development/SKILL.md +48 -0
- package/skills/using-skills/SKILL.md +39 -0
- package/skills/verification-before-completion/SKILL.md +137 -0
- package/skills/writing-plans/SKILL.md +68 -0
- package/skills/writing-specs/SKILL.md +47 -0
- package/src/audit/vietnamese-detection.js +259 -0
- package/src/cli/commands/detect-vietnamese.js +24 -0
- package/src/cli/commands/doctor.js +33 -0
- package/src/cli/commands/help.js +33 -0
- package/src/cli/commands/init.js +25 -0
- package/src/cli/commands/install-global.js +26 -0
- package/src/cli/commands/install.js +25 -0
- package/src/cli/commands/run.js +63 -0
- package/src/cli/commands/uninstall.js +32 -0
- package/src/cli/commands/upgrade.js +25 -0
- package/src/cli/conflict-output.js +19 -0
- package/src/cli/index.js +56 -0
- package/src/global/doctor.js +101 -0
- package/src/global/ensure-install.js +32 -0
- package/src/global/install-state.js +73 -0
- package/src/global/launcher.js +51 -0
- package/src/global/materialize.js +123 -0
- package/src/global/paths.js +85 -0
- package/src/global/uninstall.js +25 -0
- package/src/global/workspace-state.js +63 -0
- package/src/install/asset-manifest.js +284 -0
- package/src/install/conflicts.js +43 -0
- package/src/install/discovery.js +138 -0
- package/src/install/install-state.js +136 -0
- package/src/install/materialize.js +158 -0
- package/src/install/merge-policy.js +145 -0
- package/src/runtime/doctor.js +281 -0
- package/src/runtime/launcher.js +49 -0
- package/src/runtime/opencode-layering.js +135 -0
- package/src/runtime/openkit-managed-summary.js +27 -0
- package/tests/cli/openkit-cli.test.js +417 -0
- package/tests/global/doctor.test.js +130 -0
- package/tests/global/ensure-install.test.js +105 -0
- package/tests/install/discovery.test.js +124 -0
- package/tests/install/install-state.test.js +346 -0
- package/tests/install/materialize.test.js +244 -0
- package/tests/install/merge-policy.test.js +177 -0
- package/tests/runtime/doctor.test.js +430 -0
- package/tests/runtime/launcher.test.js +230 -0
- package/tests/runtime/module-boundary.test.js +16 -0
package/registry.json
ADDED
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "openkit/component-registry@1",
|
|
3
|
+
"registryVersion": 1,
|
|
4
|
+
"kit": {
|
|
5
|
+
"name": "OpenKit AI Software Factory",
|
|
6
|
+
"version": "0.1.0",
|
|
7
|
+
"description": "Local component metadata for the checked-in OpenKit repository and the global-kit compatibility surface.",
|
|
8
|
+
"repositoryRoot": ".",
|
|
9
|
+
"productSurface": {
|
|
10
|
+
"current": "repository-local-openkit-runtime",
|
|
11
|
+
"emerging": "global-openkit-install",
|
|
12
|
+
"installReadiness": "emerging",
|
|
13
|
+
"migrationState": "staged-not-complete",
|
|
14
|
+
"activeRuntimeManifest": ".opencode/opencode.json",
|
|
15
|
+
"targetWrapperEntrypoint": "opencode.json",
|
|
16
|
+
"installMode": "additive-non-destructive",
|
|
17
|
+
"repositoryInternal": [
|
|
18
|
+
".opencode/opencode.json",
|
|
19
|
+
".opencode/workflow-state.json",
|
|
20
|
+
".opencode/work-items/",
|
|
21
|
+
".opencode/workflow-state.js",
|
|
22
|
+
"hooks/",
|
|
23
|
+
"agents/",
|
|
24
|
+
"skills/",
|
|
25
|
+
"commands/",
|
|
26
|
+
"context/",
|
|
27
|
+
"docs/"
|
|
28
|
+
],
|
|
29
|
+
"globalFacing": [
|
|
30
|
+
"registry.json",
|
|
31
|
+
".opencode/install-manifest.json"
|
|
32
|
+
],
|
|
33
|
+
"notes": "This registry describes repository-local components that exist today and also records metadata that supports the global OpenKit kit. It does not mean the checked-in repository runtime has been removed or replaced."
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"componentCategories": [
|
|
37
|
+
"agents",
|
|
38
|
+
"skills",
|
|
39
|
+
"commands",
|
|
40
|
+
"artifacts",
|
|
41
|
+
"runtime",
|
|
42
|
+
"hooks",
|
|
43
|
+
"docs"
|
|
44
|
+
],
|
|
45
|
+
"components": {
|
|
46
|
+
"agents": [
|
|
47
|
+
{
|
|
48
|
+
"id": "agent.master-orchestrator",
|
|
49
|
+
"name": "Master Orchestrator",
|
|
50
|
+
"role": "primary",
|
|
51
|
+
"path": "agents/master-orchestrator.md"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "agent.pm-agent",
|
|
55
|
+
"name": "PM Agent",
|
|
56
|
+
"role": "team",
|
|
57
|
+
"path": "agents/pm-agent.md"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "agent.ba-agent",
|
|
61
|
+
"name": "BA Agent",
|
|
62
|
+
"role": "team",
|
|
63
|
+
"path": "agents/ba-agent.md"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "agent.architect-agent",
|
|
67
|
+
"name": "Architect Agent",
|
|
68
|
+
"role": "team",
|
|
69
|
+
"path": "agents/architect-agent.md"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "agent.tech-lead-agent",
|
|
73
|
+
"name": "Tech Lead Agent",
|
|
74
|
+
"role": "team",
|
|
75
|
+
"path": "agents/tech-lead-agent.md"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "agent.fullstack-agent",
|
|
79
|
+
"name": "Fullstack Agent",
|
|
80
|
+
"role": "team",
|
|
81
|
+
"path": "agents/fullstack-agent.md"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "agent.qa-agent",
|
|
85
|
+
"name": "QA Agent",
|
|
86
|
+
"role": "team",
|
|
87
|
+
"path": "agents/qa-agent.md"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "agent.code-reviewer",
|
|
91
|
+
"name": "Code Reviewer",
|
|
92
|
+
"role": "helper",
|
|
93
|
+
"path": "agents/code-reviewer.md"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"skills": [
|
|
97
|
+
{
|
|
98
|
+
"id": "skill.brainstorming",
|
|
99
|
+
"name": "brainstorming",
|
|
100
|
+
"path": "skills/brainstorming/SKILL.md"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "skill.code-review",
|
|
104
|
+
"name": "code-review",
|
|
105
|
+
"path": "skills/code-review/SKILL.md"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "skill.subagent-driven-development",
|
|
109
|
+
"name": "subagent-driven-development",
|
|
110
|
+
"path": "skills/subagent-driven-development/SKILL.md"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "skill.systematic-debugging",
|
|
114
|
+
"name": "systematic-debugging",
|
|
115
|
+
"path": "skills/systematic-debugging/SKILL.md"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "skill.test-driven-development",
|
|
119
|
+
"name": "test-driven-development",
|
|
120
|
+
"path": "skills/test-driven-development/SKILL.md"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "skill.verification-before-completion",
|
|
124
|
+
"name": "verification-before-completion",
|
|
125
|
+
"path": "skills/verification-before-completion/SKILL.md"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "skill.using-skills",
|
|
129
|
+
"name": "using-skills",
|
|
130
|
+
"path": "skills/using-skills/SKILL.md"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"id": "skill.writing-plans",
|
|
134
|
+
"name": "writing-plans",
|
|
135
|
+
"path": "skills/writing-plans/SKILL.md"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"id": "skill.writing-specs",
|
|
139
|
+
"name": "writing-specs",
|
|
140
|
+
"path": "skills/writing-specs/SKILL.md"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"commands": [
|
|
144
|
+
{
|
|
145
|
+
"id": "command.task",
|
|
146
|
+
"name": "/task",
|
|
147
|
+
"path": "commands/task.md"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": "command.quick-task",
|
|
151
|
+
"name": "/quick-task",
|
|
152
|
+
"path": "commands/quick-task.md"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"id": "command.migrate",
|
|
156
|
+
"name": "/migrate",
|
|
157
|
+
"path": "commands/migrate.md"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"id": "command.delivery",
|
|
161
|
+
"name": "/delivery",
|
|
162
|
+
"path": "commands/delivery.md"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "command.brainstorm",
|
|
166
|
+
"name": "/brainstorm",
|
|
167
|
+
"path": "commands/brainstorm.md"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"id": "command.write-plan",
|
|
171
|
+
"name": "/write-plan",
|
|
172
|
+
"path": "commands/write-plan.md"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"id": "command.execute-plan",
|
|
176
|
+
"name": "/execute-plan",
|
|
177
|
+
"path": "commands/execute-plan.md"
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"artifacts": [
|
|
181
|
+
{
|
|
182
|
+
"id": "artifact.tasks",
|
|
183
|
+
"name": "quick-task-cards",
|
|
184
|
+
"path": "docs/tasks",
|
|
185
|
+
"kind": "directory",
|
|
186
|
+
"optional": true
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"id": "artifact.briefs",
|
|
190
|
+
"name": "briefs",
|
|
191
|
+
"path": "docs/briefs",
|
|
192
|
+
"kind": "directory"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"id": "artifact.specs",
|
|
196
|
+
"name": "specs",
|
|
197
|
+
"path": "docs/specs",
|
|
198
|
+
"kind": "directory"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"id": "artifact.architecture",
|
|
202
|
+
"name": "architecture",
|
|
203
|
+
"path": "docs/architecture",
|
|
204
|
+
"kind": "directory"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"id": "artifact.plans",
|
|
208
|
+
"name": "plans",
|
|
209
|
+
"path": "docs/plans",
|
|
210
|
+
"kind": "directory"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"id": "artifact.qa",
|
|
214
|
+
"name": "qa",
|
|
215
|
+
"path": "docs/qa",
|
|
216
|
+
"kind": "directory"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"id": "artifact.adr",
|
|
220
|
+
"name": "adr",
|
|
221
|
+
"path": "docs/adr",
|
|
222
|
+
"kind": "directory"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"id": "artifact.templates",
|
|
226
|
+
"name": "templates",
|
|
227
|
+
"path": "docs/templates",
|
|
228
|
+
"kind": "directory"
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"runtime": [
|
|
232
|
+
{
|
|
233
|
+
"id": "runtime.opencode-manifest",
|
|
234
|
+
"name": "OpenCode Runtime Manifest",
|
|
235
|
+
"path": ".opencode/opencode.json",
|
|
236
|
+
"role": "active-runtime-manifest",
|
|
237
|
+
"surface": "repository-internal"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"id": "runtime.workflow-state",
|
|
241
|
+
"name": "Workflow State",
|
|
242
|
+
"path": ".opencode/workflow-state.json",
|
|
243
|
+
"surface": "repository-internal"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"id": "runtime.workflow-state-cli",
|
|
247
|
+
"name": "Workflow State CLI",
|
|
248
|
+
"path": ".opencode/workflow-state.js",
|
|
249
|
+
"surface": "repository-internal"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"id": "runtime.install-manifest",
|
|
253
|
+
"name": "Install Manifest",
|
|
254
|
+
"path": ".opencode/install-manifest.json",
|
|
255
|
+
"role": "additive-install-metadata",
|
|
256
|
+
"surface": "global-facing-metadata"
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
"hooks": [
|
|
260
|
+
{
|
|
261
|
+
"id": "hook.session-start",
|
|
262
|
+
"name": "Session Start Hook",
|
|
263
|
+
"path": "hooks/session-start"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"id": "hook.config",
|
|
267
|
+
"name": "Hooks Config",
|
|
268
|
+
"path": "hooks/hooks.json"
|
|
269
|
+
}
|
|
270
|
+
],
|
|
271
|
+
"docs": [
|
|
272
|
+
{
|
|
273
|
+
"id": "doc.readme",
|
|
274
|
+
"name": "README",
|
|
275
|
+
"path": "README.md",
|
|
276
|
+
"surface": "shared"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"id": "doc.navigation",
|
|
280
|
+
"name": "Navigation",
|
|
281
|
+
"path": "context/navigation.md",
|
|
282
|
+
"surface": "repository-internal"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"id": "doc.workflow-contract",
|
|
286
|
+
"name": "Workflow Contract",
|
|
287
|
+
"path": "context/core/workflow.md",
|
|
288
|
+
"surface": "repository-internal"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"id": "doc.governance",
|
|
292
|
+
"name": "Governance",
|
|
293
|
+
"path": "docs/governance/README.md",
|
|
294
|
+
"surface": "repository-internal"
|
|
295
|
+
}
|
|
296
|
+
]
|
|
297
|
+
},
|
|
298
|
+
"profiles": [
|
|
299
|
+
{
|
|
300
|
+
"id": "profile.openkit-core",
|
|
301
|
+
"name": "openkit-core",
|
|
302
|
+
"description": "Core local profile for the checked-in repository runtime, with wrapper metadata present for migration visibility but not as a replacement runtime surface.",
|
|
303
|
+
"componentRefs": [
|
|
304
|
+
"agents",
|
|
305
|
+
"skills",
|
|
306
|
+
"commands",
|
|
307
|
+
"artifacts",
|
|
308
|
+
"runtime",
|
|
309
|
+
"hooks",
|
|
310
|
+
"docs"
|
|
311
|
+
],
|
|
312
|
+
"defaultForRepository": true
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"id": "profile.runtime-docs-surface",
|
|
316
|
+
"name": "runtime-docs-surface",
|
|
317
|
+
"description": "Non-default local profile covering repository-internal runtime and documentation surfaces for inspection, without implying a wrapper-only, plugin-only, or destructive install model.",
|
|
318
|
+
"componentRefs": [
|
|
319
|
+
"commands",
|
|
320
|
+
"artifacts",
|
|
321
|
+
"runtime",
|
|
322
|
+
"hooks",
|
|
323
|
+
"docs"
|
|
324
|
+
],
|
|
325
|
+
"defaultForRepository": false
|
|
326
|
+
}
|
|
327
|
+
]
|
|
328
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brainstorming
|
|
3
|
+
description: "Socratic design refinement process. Used before writing any specs or code to clarify intent and explore options."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill: Brainstorming (Socratic Refinement)
|
|
7
|
+
|
|
8
|
+
## Context
|
|
9
|
+
|
|
10
|
+
When the user brings a new idea or request, or when the PM Agent or Architect Agent starts designing, this skill **must** be used before locking in a solution.
|
|
11
|
+
|
|
12
|
+
Do NOT jump straight into writing a spec or code. You must go through the "ask questions - explore - converge" process first.
|
|
13
|
+
|
|
14
|
+
## Execution Process
|
|
15
|
+
|
|
16
|
+
### Phase 1: Context Exploration
|
|
17
|
+
1. Read the user's initial request.
|
|
18
|
+
2. Identify any relevant existing files.
|
|
19
|
+
3. Ask clarifying questions. **Golden Rule: ask only ONE question at a time.**
|
|
20
|
+
- Do not dump a list of 5 questions on the user and overwhelm them.
|
|
21
|
+
- Ask the most important question first. Wait for the answer before asking the next one.
|
|
22
|
+
- Example: "Who is the primary user of this feature: Admin or Client?"
|
|
23
|
+
|
|
24
|
+
### Phase 2: Option Generation
|
|
25
|
+
Once you have enough information (no major open questions remain), do NOT choose a single solution on your own. You must present 2-3 approaches:
|
|
26
|
+
|
|
27
|
+
**Proposal template:**
|
|
28
|
+
```markdown
|
|
29
|
+
Based on what you've shared, I see X main approaches:
|
|
30
|
+
|
|
31
|
+
**Option 1: [Short name]**
|
|
32
|
+
* **How it works**: [Brief description]
|
|
33
|
+
* **Pros**: [...]
|
|
34
|
+
* **Cons / Trade-offs**: [...]
|
|
35
|
+
|
|
36
|
+
**Option 2: [Short name]**
|
|
37
|
+
* **How it works**: [Brief description]
|
|
38
|
+
* **Pros**: [...]
|
|
39
|
+
* **Cons / Trade-offs**: [...]
|
|
40
|
+
|
|
41
|
+
Which direction do you prefer, or do you want to combine ideas from both?
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Phase 3: Incremental Design
|
|
45
|
+
After the user chooses an option, design the solution **one part at a time**.
|
|
46
|
+
- Do not drop one giant design block on the user.
|
|
47
|
+
- For example, design the database first and get feedback. Then design the API and get feedback.
|
|
48
|
+
- Use visual tools when helpful (Mermaid diagrams, ASCII art).
|
|
49
|
+
|
|
50
|
+
### Phase 4: Handoff
|
|
51
|
+
Finish brainstorming by moving into a Product Brief or Architecture Document (depending on which agent is active), then hand off to the next agent in the pipeline.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review
|
|
3
|
+
description: "Pre-review checklist and quality gates. Uses a two-stage approach: spec compliance then code quality."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill: Code Review
|
|
7
|
+
|
|
8
|
+
## Context
|
|
9
|
+
|
|
10
|
+
Used by the Code Reviewer subagent, the QA Agent, or the Tech Lead Agent.
|
|
11
|
+
The goal is to be the final gate that keeps bad code or off-spec code from reaching the main branch.
|
|
12
|
+
|
|
13
|
+
## Required Inputs
|
|
14
|
+
|
|
15
|
+
- What needs review? (files / commit / PR)
|
|
16
|
+
- Comparison documents: spec (requirements), architecture (design), code standards.
|
|
17
|
+
|
|
18
|
+
## Two-Stage Review Process
|
|
19
|
+
|
|
20
|
+
Strictly follow these two stages in order. Do not talk about formatting or clean code if the feature itself is off-spec.
|
|
21
|
+
|
|
22
|
+
### Stage 1: Spec Compliance
|
|
23
|
+
**Ask exactly one question: "Does this code meet the acceptance criteria in the spec exactly, and does it avoid inventing extra features?"**
|
|
24
|
+
|
|
25
|
+
- Inspect each acceptance criterion (Given - When - Then).
|
|
26
|
+
- Does the code handle the edge cases the BA documented?
|
|
27
|
+
- **Overscope Audit (Over-engineering)**: counter the developer instinct to "helpfully" add extra behavior. Has the code built convenience features that were never requested? (YAGNI)
|
|
28
|
+
|
|
29
|
+
=> **Record Pass / Fail for Stage 1. If it fails, stop the review there and send it back to the developer. Do not continue to Stage 2.**
|
|
30
|
+
|
|
31
|
+
### Stage 2: Code Quality
|
|
32
|
+
Only reach this step if Stage 1 has passed. Use `context/core/code-quality.md` as the review baseline.
|
|
33
|
+
|
|
34
|
+
Review by severity:
|
|
35
|
+
1. **Critical / Security (Must fix immediately)**: SQL injection, leaked environment variables, crash-level memory issues.
|
|
36
|
+
2. **Architecture (Needs consultation)**: wrong boundary ownership (for example, a controller doing database query logic). Escalate to Tech Lead.
|
|
37
|
+
3. **Important Quality (Should fix)**: meaningless variable names (`let a = 1`), functions longer than 50 lines, badly degraded test coverage.
|
|
38
|
+
4. **Minor**: brace and spacing debates. Follow the existing linter or formatter.
|
|
39
|
+
|
|
40
|
+
## Checklist for a Good Review Report
|
|
41
|
+
- [ ] Clearly state Stage 1 (Pass/Fail) and why.
|
|
42
|
+
- [ ] Cite the exact file path and failing line number.
|
|
43
|
+
- [ ] State severity clearly (Critical / Important / Minor).
|
|
44
|
+
- [ ] Do not just criticize - include a concrete fix suggestion or example snippet.
|
|
45
|
+
|
|
46
|
+
## Anti-Patterns to Avoid
|
|
47
|
+
- Superficial review: "LGTM" without actually reading the files.
|
|
48
|
+
- Fixing the code for the developer: "I'll just patch it quickly and approve." The reviewer must not touch the implementation. The developer stays responsible for the fix.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: subagent-driven-development
|
|
3
|
+
description: "Execution engine. Dispatches fresh subagents for each task to avoid context pollution and ensures 2-stage review."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill: Subagent-Driven Development
|
|
7
|
+
|
|
8
|
+
## Context
|
|
9
|
+
|
|
10
|
+
Used by the Fullstack Agent to execute an implementation plan.
|
|
11
|
+
|
|
12
|
+
When working through a complex sequence of tasks, the primary agent can get overwhelmed or hallucinate because the context grows too large. Subagent-Driven Development solves this by splitting the work into tasks and dispatching a fresh subagent to handle each task individually.
|
|
13
|
+
|
|
14
|
+
## Execution Process
|
|
15
|
+
|
|
16
|
+
### 1. Preparation (Task Queueing)
|
|
17
|
+
Read `docs/plans/YYYY-MM-DD-<feature>.md`.
|
|
18
|
+
Build a queue of tasks.
|
|
19
|
+
|
|
20
|
+
### 2. Batch Execution (Repeat for Each Task)
|
|
21
|
+
|
|
22
|
+
Take Task N from the queue:
|
|
23
|
+
|
|
24
|
+
#### Step 2a: Prepare the Subagent Payload
|
|
25
|
+
Create a prompt (define it first, do not run it yet) with enough context for the subagent (usually the implementation-focused Fullstack Agent):
|
|
26
|
+
- target files
|
|
27
|
+
- exact code requirements from the plan
|
|
28
|
+
- tests that must pass
|
|
29
|
+
- explicit instruction: "Follow the active mode's validation model and the coding standards"; use TDD in full-delivery implementation work and migration validation in migration work
|
|
30
|
+
|
|
31
|
+
#### Step 2b: Dispatch & Execution
|
|
32
|
+
Call the tool or script that runs the subagent independently. (This may be a shell command, a `run_agent.sh` script, or an equivalent delegation mechanism.)
|
|
33
|
+
|
|
34
|
+
The subagent must report one of 4 standard statuses:
|
|
35
|
+
|
|
36
|
+
- `DONE`: task completed, ready for review
|
|
37
|
+
- `DONE_WITH_CONCERNS`: task completed, but with concerns the controller must read before review
|
|
38
|
+
- `NEEDS_CONTEXT`: missing context; must not guess
|
|
39
|
+
- `BLOCKED`: cannot complete with the current scope or context
|
|
40
|
+
|
|
41
|
+
#### Step 2c: Stop and Call a Reviewer (Code Reviewer Subagent)
|
|
42
|
+
Do NOT mark the current task complete and continue.
|
|
43
|
+
You must dispatch an independent `code-reviewer` subagent with a fresh context to evaluate the implementation.
|
|
44
|
+
|
|
45
|
+
Two-stage review process (see `skills/code-review/SKILL.md`):
|
|
46
|
+
- **Stage 1**: spec compliance
|
|
47
|
+
- **Stage 2**: code quality
|
|
48
|
+
|
|
49
|
+
Do not reverse this order.
|
|
50
|
+
|
|
51
|
+
*If it fails*: send the task back to Step 2a with the review feedback.
|
|
52
|
+
*If it passes*: mark the task as DONE and commit.
|
|
53
|
+
|
|
54
|
+
### 3. Loop and Throughput
|
|
55
|
+
Return to Step 2 for Task N+1.
|
|
56
|
+
|
|
57
|
+
## Anti-Patterns to Eliminate
|
|
58
|
+
- "I'll just take all 5 tasks in the plan and do them in one shot." -> **Seriously wrong**. The LLM will forget instructions midway and accumulate context garbage.
|
|
59
|
+
- Skipping the code-review subagent because "I trust my own work." -> The implementer subagent can still be wrong. An independent reviewer is mandatory.
|
|
60
|
+
- Letting the implementer reread the whole plan and choose scope when the controller already knows the current task. -> Wrong. The controller should provide the full task text and relevant context, not dump the whole world into the subagent.
|
|
61
|
+
- Moving to the next task while spec review or quality review still has open issues. -> Wrong. A task is DONE only after it passes both gates.
|
|
62
|
+
|
|
63
|
+
## Handling Implementer Status
|
|
64
|
+
|
|
65
|
+
### `DONE`
|
|
66
|
+
- move straight into spec review
|
|
67
|
+
|
|
68
|
+
### `DONE_WITH_CONCERNS`
|
|
69
|
+
- read the concerns first
|
|
70
|
+
- if they affect correctness or scope, resolve them before review
|
|
71
|
+
- if they are only maintainability notes, continue into review but keep them in mind for later work
|
|
72
|
+
|
|
73
|
+
### `NEEDS_CONTEXT`
|
|
74
|
+
- provide the missing context
|
|
75
|
+
- re-dispatch the same task; do not let the implementer invent assumptions
|
|
76
|
+
|
|
77
|
+
### `BLOCKED`
|
|
78
|
+
- assess whether the blocker comes from missing context, an oversized task, or a bad plan
|
|
79
|
+
- if needed, split the task smaller or escalate to the coordinating human or agent
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: systematic-debugging
|
|
3
|
+
description: "4-phase root cause process to debug scientifically instead of blindly guessing."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill: Systematic Debugging
|
|
7
|
+
|
|
8
|
+
## Context
|
|
9
|
+
|
|
10
|
+
This skill is used by any developer agent (Fullstack, QA, Tech Lead) when it hits a bug, a build error, or an unexpected test failure. LLMs tend to guess and jump into random fixes. This skill forces an engineering-style debugging path.
|
|
11
|
+
|
|
12
|
+
## The Golden Rule
|
|
13
|
+
**Do NOT change or fix any line of code until the ROOT CAUSE is clear.**
|
|
14
|
+
|
|
15
|
+
## Additional Guardrails
|
|
16
|
+
|
|
17
|
+
- Test only 1 primary hypothesis at a time
|
|
18
|
+
- Do not stack multiple fixes into the same experiment
|
|
19
|
+
- If you have already tried 3 fixes and the original bug keeps returning, question the pattern or architecture instead of attempting a fourth fix
|
|
20
|
+
|
|
21
|
+
## 4-Phase Bug-Fix Process
|
|
22
|
+
|
|
23
|
+
### Phase 1: Context and Reproduction
|
|
24
|
+
Do not read code first. Go collect evidence.
|
|
25
|
+
1. Capture the exact error stack trace.
|
|
26
|
+
2. Identify the file and line that fails.
|
|
27
|
+
3. Reproduce the failure: which environment (dev/prod) and which input trigger it?
|
|
28
|
+
4. If the system has multiple boundaries (CLI -> controller -> rules, hook -> state file, command -> artifact), gather evidence at each boundary instead of jumping straight to the last layer.
|
|
29
|
+
|
|
30
|
+
### Phase 2: Hypothesis Generation
|
|
31
|
+
Based on the evidence, propose hypotheses for why it fails. Do NOT talk about fixes yet.
|
|
32
|
+
|
|
33
|
+
* Weak guess: "Variable X does not exist, so `.length` fails."
|
|
34
|
+
* Better hypothesis: "Function A expects an array, but the backend API returns `{ data: [] }` (an object), so calling `.map()` crashes."
|
|
35
|
+
|
|
36
|
+
List 2-3 hypotheses. Then narrow them down by grepping and reading code until you identify the most likely root cause.
|
|
37
|
+
|
|
38
|
+
⚠️ Test only 1 primary hypothesis. Do not fix three hypotheses at once and expect the tests to explain which one was correct.
|
|
39
|
+
|
|
40
|
+
### Phase 3: Propose Fix
|
|
41
|
+
Propose the Minimal Fix (the fewest lines changed across the fewest files).
|
|
42
|
+
|
|
43
|
+
⚠️ **RED ALERT: fixing many places usually means architecture surgery.** If you realize the plan requires changing 3-4 separate logic files at once (scattered changes), stop. You are probably not fixing a bug anymore - you are papering over a broken system or bad architecture. Escalate back to the Master Orchestrator and bring in the Architect to review the system.
|
|
44
|
+
|
|
45
|
+
### Phase 4: Implementation
|
|
46
|
+
Follow the active mode's validation model:
|
|
47
|
+
- In full-delivery implementation work, follow TDD (see `skills/test-driven-development/SKILL.md`): write a test, confirm it fails, apply the minimal fix, and confirm it passes.
|
|
48
|
+
- In migration work, capture the failing compatibility evidence first, apply the minimal fix, then rerun the strongest real regression or compatibility check available.
|
|
49
|
+
- In every mode, keep the fix minimal and evidence-based.
|
|
50
|
+
|
|
51
|
+
If the fix does not work:
|
|
52
|
+
|
|
53
|
+
1. STOP
|
|
54
|
+
2. go back to Phase 1 with the new evidence
|
|
55
|
+
3. if you have already tried 3 fixes and the core failure still remains, report to `MasterOrchestrator` that this may be an architecture or pattern problem rather than a local bug
|
|
56
|
+
|
|
57
|
+
## Rationalization Checklist
|
|
58
|
+
- [ ] Am I blindly spraying `console.log` everywhere instead of concentrating on the root cause? (If yes -> STOP)
|
|
59
|
+
- [ ] Am I about to wrap everything in `try...catch` and silently swallow errors? (If yes -> STOP)
|
|
60
|
+
- [ ] Have I already tried a third workaround and the same failure still looks unchanged? (The real problem may be cache or environment state. Re-check the environment instead of editing more code.)
|
|
61
|
+
- [ ] Am I changing many scattered files just to make the tests green again without proving the root cause? (If yes -> STOP)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-driven-development
|
|
3
|
+
description: "RED-GREEN-REFACTOR cycle. Enforces strictly writing failing tests before production code."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill: Test-Driven Development (TDD)
|
|
7
|
+
|
|
8
|
+
## Context
|
|
9
|
+
|
|
10
|
+
This is the Iron Law for the Fullstack Agent. You are NOT ALLOWED to write any production code until a failing test proves that code needs to exist.
|
|
11
|
+
|
|
12
|
+
## Execution Process (RED-GREEN-REFACTOR)
|
|
13
|
+
|
|
14
|
+
### Step 1: RED (Write a Failing Test)
|
|
15
|
+
1. Pick one small task from the implementation plan.
|
|
16
|
+
2. Write **one** test case for that behavior.
|
|
17
|
+
3. Run the repository's defined test command for the language or framework in use. If the repo does not define a standard command, stop and report the missing validation path instead of guessing.
|
|
18
|
+
4. **Mandatory validation**: the test MUST fail. It must fail for the right reason (for example, `ReferenceError: function is not defined`, or `Expected true but got false`).
|
|
19
|
+
- If the test passes immediately -> the test is wrong, delete it and rewrite it.
|
|
20
|
+
|
|
21
|
+
### Step 2: GREEN (Write the Minimum Code)
|
|
22
|
+
1. Write **only enough code to make that one test pass**.
|
|
23
|
+
2. **Lazy Code Rule**: return a hardcoded value if that is enough to make the test pass. Do not think about future needs (YAGNI - You Aren't Gonna Need It).
|
|
24
|
+
3. Run the tests again.
|
|
25
|
+
4. **Mandatory validation**: the test must PASS. If it does not, keep fixing until it passes. Do not add extra features.
|
|
26
|
+
|
|
27
|
+
### Step 3: REFACTOR
|
|
28
|
+
When (and only when) all tests are green:
|
|
29
|
+
1. Review the code: is there duplication (DRY)? Are names understandable? Is the design still sound?
|
|
30
|
+
2. Refactor the code.
|
|
31
|
+
3. Run the tests again. If any test fails -> revert the refactor immediately or repair it quickly.
|
|
32
|
+
|
|
33
|
+
## Anti-Patterns to Eliminate and Required Responses
|
|
34
|
+
|
|
35
|
+
| Rationalization | Required response |
|
|
36
|
+
|-----------------|-------------------|
|
|
37
|
+
| "This is too simple, writing a test will take longer, I'll just code it." | **STOP.** Delete the code you just wrote and write the test first, even for a simple `add(a, b)` function. |
|
|
38
|
+
| "I'll write 5 tests at once and then code it all in one pass." | **Stop.** One RED, one GREEN, one REFACTOR. Do not batch them together. |
|
|
39
|
+
| "UI testing is too hard, I'll skip TDD for this part." | You may skip it only if the user explicitly allows it. Prefer separating logic from UI so the logic can still be tested. |
|
|
40
|
+
| "The test failed and I already know the issue, so I'll fix files A, B, and C at once." | The root cause still lives in one place. Find it and fix the right place. Read `systematic-debugging`. |
|
|
41
|
+
|
|
42
|
+
## Checklist for a Complete Cycle
|
|
43
|
+
- [ ] Test written and run (FAIL)
|
|
44
|
+
- [ ] Error message read and understood
|
|
45
|
+
- [ ] Minimal production code written
|
|
46
|
+
- [ ] Test rerun (PASS)
|
|
47
|
+
- [ ] Nearby code cleaned up (REFACTOR)
|
|
48
|
+
- [ ] Commit made (each GREEN/REFACTOR is a chance for a small commit)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-skills
|
|
3
|
+
description: "Meta-skill: Teaches agents how to discover, evaluate, and invoke skills. Loaded at session start."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill Usage Guide - Meta-Skill
|
|
7
|
+
|
|
8
|
+
## What Skills Mean
|
|
9
|
+
|
|
10
|
+
In the AI Software Factory, "Skills" are standard operating procedures that define how the system should work. When a situation matches a skill, you **must** follow that skill instead of improvising from raw LLM instinct.
|
|
11
|
+
|
|
12
|
+
## Instruction Priority
|
|
13
|
+
|
|
14
|
+
When instructions conflict, apply this order (1 is highest):
|
|
15
|
+
|
|
16
|
+
1. **Current user prompt**: direct instructions from the user in the current message
|
|
17
|
+
2. **Skill instructions**: guidance inside the active `SKILL.md`
|
|
18
|
+
3. **Agent role instructions**: the agent's role and constraints (for example, `QA Agent does not edit code`)
|
|
19
|
+
4. **General system prompt**: the base LLM behavior
|
|
20
|
+
|
|
21
|
+
## How to Use a Skill
|
|
22
|
+
|
|
23
|
+
When you identify a situation (for example: need to write a plan, fix a bug, or test code), follow these steps:
|
|
24
|
+
|
|
25
|
+
1. **Identify**: "I need to create an implementation plan"
|
|
26
|
+
2. **Discover**: "Let me use the tool to read `skills/writing-plans/SKILL.md`"
|
|
27
|
+
3. **Read**: use `view_file` (or the equivalent tool) to read the ENTIRE `SKILL.md`
|
|
28
|
+
4. **Execute**: apply the steps from that file
|
|
29
|
+
|
|
30
|
+
## Warning: Rationalization Prevention
|
|
31
|
+
|
|
32
|
+
LLM instinct often tries to short-circuit the process. Watch for these faulty thoughts:
|
|
33
|
+
|
|
34
|
+
| Bad thought (Rationalization) | Correct action |
|
|
35
|
+
|--------------------------------|----------------|
|
|
36
|
+
| "This file is easy, I'll just fix it without reporting to the Master Orchestrator." | Stop. Follow the role boundary. Report to the Master Orchestrator first. |
|
|
37
|
+
| "I already know how to write plans, I don't need to reread `skills/writing-plans/SKILL.md`." | No. Every time you write a plan, reread the skill so you are using the latest checklist. |
|
|
38
|
+
| "This bug is obvious, I can skip root-cause analysis and fix it directly." | No. Use `systematic-debugging`. Root cause analysis is mandatory first. |
|
|
39
|
+
| "The user said it's urgent, so I'll skip the test-writing step (TDD)." | In full-delivery implementation, TDD remains the default unless the user **very explicitly** says "Skip TDD". In migration mode, follow the migration validation model instead of forcing fake TDD. |
|