opencodekit 0.18.2 → 0.18.3
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/dist/index.js +161 -38
- package/dist/template/.opencode/.version +1 -1
- package/dist/template/.opencode/AGENTS.md +39 -9
- package/dist/template/.opencode/AGENT_ALIGNMENT.md +6 -6
- package/dist/template/.opencode/agent/build.md +7 -103
- package/dist/template/.opencode/agent/general.md +0 -52
- package/dist/template/.opencode/agent/plan.md +10 -0
- package/dist/template/.opencode/agent/runner.md +79 -0
- package/dist/template/.opencode/command/create.md +13 -1
- package/dist/template/.opencode/command/init-context.md +20 -6
- package/dist/template/.opencode/command/init-user.md +18 -16
- package/dist/template/.opencode/command/lfg.md +3 -4
- package/dist/template/.opencode/command/ship.md +6 -48
- package/dist/template/.opencode/command/start.md +20 -3
- package/dist/template/.opencode/command/verify.md +12 -17
- package/dist/template/.opencode/context/README.md +29 -0
- package/dist/template/.opencode/memory/_templates/{STATE.md → state.md} +1 -1
- package/dist/template/.opencode/memory.db +0 -0
- package/dist/template/.opencode/memory.db-shm +0 -0
- package/dist/template/.opencode/memory.db-wal +0 -0
- package/dist/template/.opencode/opencode.json +131 -7
- package/dist/template/.opencode/package.json +1 -1
- package/dist/template/.opencode/plugin/lib/memory-helpers.ts +51 -16
- package/dist/template/.opencode/plugin/lib/memory-hooks.ts +1 -1
- package/dist/template/.opencode/skill/beads/references/TROUBLESHOOTING.md +25 -0
- package/dist/template/.opencode/skill/using-git-worktrees/SKILL.md +26 -0
- package/dist/template/.opencode/skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md +67 -0
- package/package.json +1 -1
- /package/dist/template/.opencode/memory/_templates/{PROJECT.md → project.md} +0 -0
- /package/dist/template/.opencode/memory/_templates/{ROADMAP.md → roadmap.md} +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Lightweight runner for trivial shell, git, and filesystem operations
|
|
3
|
+
mode: subagent
|
|
4
|
+
temperature: 0.0
|
|
5
|
+
permission:
|
|
6
|
+
bash:
|
|
7
|
+
"*": allow
|
|
8
|
+
"git push*": ask
|
|
9
|
+
"git commit*": ask
|
|
10
|
+
"git merge*": ask
|
|
11
|
+
"git reset*": ask
|
|
12
|
+
"rm*": ask
|
|
13
|
+
"sudo*": deny
|
|
14
|
+
write:
|
|
15
|
+
"*": deny
|
|
16
|
+
edit:
|
|
17
|
+
"*": deny
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
You are OpenCode, the best coding agent on the planet.
|
|
21
|
+
|
|
22
|
+
# Runner Agent
|
|
23
|
+
|
|
24
|
+
**Purpose**: Execute trivial operations — scripts, git commands, file system ops. No code reasoning.
|
|
25
|
+
|
|
26
|
+
## Identity
|
|
27
|
+
|
|
28
|
+
You are the runner agent. You execute simple, well-defined operations quickly and reliably. You don't write code or make architectural decisions.
|
|
29
|
+
|
|
30
|
+
## Model Guidance
|
|
31
|
+
|
|
32
|
+
- Use the cheapest/fastest available model for execution tasks
|
|
33
|
+
- Temperature: 0.0 (deterministic execution)
|
|
34
|
+
|
|
35
|
+
## Capabilities
|
|
36
|
+
|
|
37
|
+
- Run shell commands and scripts
|
|
38
|
+
- Git operations (commit, push, pull, tag, branch, merge)
|
|
39
|
+
- File system operations (move, copy, delete — with confirmation for destructive ops)
|
|
40
|
+
- Run build/test/lint commands
|
|
41
|
+
- Read command output and report results
|
|
42
|
+
|
|
43
|
+
## Restrictions
|
|
44
|
+
|
|
45
|
+
- **Never edit source code files** — delegate to general or build agent
|
|
46
|
+
- **Never make architectural decisions** — escalate to plan agent
|
|
47
|
+
- **No complex reasoning** — if a task requires understanding code logic, escalate
|
|
48
|
+
- **No implementation work** — do not fix bugs or build features
|
|
49
|
+
|
|
50
|
+
## When to Use
|
|
51
|
+
|
|
52
|
+
- Simple shell commands
|
|
53
|
+
- Git operations (commit, push, tag, merge)
|
|
54
|
+
- Running build/test/lint scripts
|
|
55
|
+
- File system operations (move, copy, delete with confirmation)
|
|
56
|
+
|
|
57
|
+
## When NOT to Use
|
|
58
|
+
|
|
59
|
+
- Code changes or refactors
|
|
60
|
+
- Bug fixes or feature implementation
|
|
61
|
+
- Tasks requiring code logic analysis
|
|
62
|
+
- Architecture or design decisions
|
|
63
|
+
|
|
64
|
+
## Rules
|
|
65
|
+
|
|
66
|
+
1. Execute exactly what is requested — no improvisation
|
|
67
|
+
2. Report command output faithfully — never fabricate
|
|
68
|
+
3. Ask before destructive operations (delete, force push, reset)
|
|
69
|
+
4. If a command fails, report the error — don't attempt creative fixes
|
|
70
|
+
5. Stage specific files only — never `git add .`
|
|
71
|
+
|
|
72
|
+
## Output Format
|
|
73
|
+
|
|
74
|
+
For every operation:
|
|
75
|
+
1. Show the command being run
|
|
76
|
+
2. Show the output
|
|
77
|
+
3. Confirm success or report failure
|
|
78
|
+
|
|
79
|
+
Keep output minimal. No explanations unless something fails.
|
|
@@ -127,8 +127,20 @@ Based on research depth choice, spawn agents:
|
|
|
127
127
|
|
|
128
128
|
## Phase 5: Create Bead
|
|
129
129
|
|
|
130
|
+
Extract bead title and description from `$ARGUMENTS` before creating the bead.
|
|
131
|
+
|
|
132
|
+
- If user provided a single line, use it for both title and description.
|
|
133
|
+
- If user provided multiple lines, use first line as title and full text as description.
|
|
134
|
+
|
|
130
135
|
```bash
|
|
131
|
-
|
|
136
|
+
TITLE=$(echo "$ARGUMENTS" | head -n1)
|
|
137
|
+
DESCRIPTION=$(echo "$ARGUMENTS")
|
|
138
|
+
|
|
139
|
+
if [ "$TITLE" = "$DESCRIPTION" ]; then
|
|
140
|
+
DESCRIPTION="$TITLE"
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
BEAD_ID=$(br create --title "$TITLE" --description "$DESCRIPTION" --type $BEAD_TYPE --json | jq -r '.id')
|
|
132
144
|
mkdir -p ".beads/artifacts/$BEAD_ID"
|
|
133
145
|
```
|
|
134
146
|
|
|
@@ -8,6 +8,8 @@ agent: build
|
|
|
8
8
|
|
|
9
9
|
Initialize GSD-style project planning with integrated skill usage.
|
|
10
10
|
|
|
11
|
+
`tech-stack.md` is the default baseline project memory file. This command adds the optional planning files (`project.md`, `roadmap.md`, `state.md`) used for richer multi-session project context.
|
|
12
|
+
|
|
11
13
|
## Load Skills
|
|
12
14
|
|
|
13
15
|
```typescript
|
|
@@ -35,10 +37,10 @@ ls .opencode/memory/project/ 2>/dev/null && HAS_CONTEXT=true || HAS_CONTEXT=fals
|
|
|
35
37
|
cat .opencode/memory/project/project.md 2>/dev/null | head -20
|
|
36
38
|
```
|
|
37
39
|
|
|
38
|
-
**If context exists:**
|
|
40
|
+
**If planning context exists:**
|
|
39
41
|
|
|
40
42
|
```
|
|
41
|
-
Existing planning context found:
|
|
43
|
+
Existing optional planning context found:
|
|
42
44
|
- project.md: [exists/size]
|
|
43
45
|
- roadmap.md: [exists/size]
|
|
44
46
|
- state.md: [exists/size]
|
|
@@ -64,7 +66,7 @@ Task({
|
|
|
64
66
|
subagent_type: "explore",
|
|
65
67
|
description: "Analyze tech stack",
|
|
66
68
|
prompt:
|
|
67
|
-
"Analyze the codebase technology stack. Write findings to .opencode/memory/project/tech-analysis.md covering: languages, frameworks, dependencies, build tools. Return file path and line count only.",
|
|
69
|
+
"Analyze the codebase technology stack. Write findings to .opencode/memory/project/codebase/tech-analysis.md covering: languages, frameworks, dependencies, build tools. Return file path and line count only.",
|
|
68
70
|
});
|
|
69
71
|
|
|
70
72
|
// Agent 2: Map architecture
|
|
@@ -72,7 +74,7 @@ Task({
|
|
|
72
74
|
subagent_type: "explore",
|
|
73
75
|
description: "Analyze architecture",
|
|
74
76
|
prompt:
|
|
75
|
-
"Analyze the codebase architecture. Write findings to .opencode/memory/project/arch-analysis.md covering: patterns, directory structure, entry points. Return file path and line count only.",
|
|
77
|
+
"Analyze the codebase architecture. Write findings to .opencode/memory/project/codebase/arch-analysis.md covering: patterns, directory structure, entry points. Return file path and line count only.",
|
|
76
78
|
});
|
|
77
79
|
|
|
78
80
|
// Wait for agents and collect confirmations
|
|
@@ -217,7 +219,7 @@ br update <bead-id> --status closed --reason="Context files created"
|
|
|
217
219
|
|
|
218
220
|
## Output
|
|
219
221
|
|
|
220
|
-
Creates in `.opencode/memory/project/`:
|
|
222
|
+
Creates optional planning context in `.opencode/memory/project/`:
|
|
221
223
|
|
|
222
224
|
| File | Purpose | Lines (typical) |
|
|
223
225
|
| ------------ | ---------------------------------------- | --------------- |
|
|
@@ -233,12 +235,23 @@ Additional files in `.opencode/memory/project/codebase/`:
|
|
|
233
235
|
|
|
234
236
|
## Success Criteria
|
|
235
237
|
|
|
236
|
-
- [ ] All
|
|
238
|
+
- [ ] All `/init-context` planning documents created from templates
|
|
237
239
|
- [ ] Documents follow template structure
|
|
238
240
|
- [ ] No secrets leaked in generated files
|
|
239
241
|
- [ ] Files pass basic validation (readable, non-empty)
|
|
240
242
|
- [ ] User informed of next steps
|
|
241
243
|
|
|
244
|
+
## Phase 6: Custom Context (Optional)
|
|
245
|
+
|
|
246
|
+
Inform user about `.opencode/context/` for additional project-specific context:
|
|
247
|
+
|
|
248
|
+
```
|
|
249
|
+
Custom context folder available at .opencode/context/
|
|
250
|
+
- Add .md files with architecture decisions, domain knowledge, team agreements
|
|
251
|
+
- Add file paths to opencode.json → instructions[] for AI prompt injection
|
|
252
|
+
- This folder is preserved during init --force and upgrade
|
|
253
|
+
```
|
|
254
|
+
|
|
242
255
|
## Next Steps
|
|
243
256
|
|
|
244
257
|
After init-context completes:
|
|
@@ -246,6 +259,7 @@ After init-context completes:
|
|
|
246
259
|
1. **For new projects:** Use `/plan` to create first implementation plan
|
|
247
260
|
2. **For brownfield:** Review codebase analysis, then `/plan`
|
|
248
261
|
3. **For existing beads:** Use `/resume` to continue tracked work
|
|
262
|
+
4. **For custom context:** Add `.md` files to `.opencode/context/` and reference in `opencode.json` instructions
|
|
249
263
|
|
|
250
264
|
---
|
|
251
265
|
|
|
@@ -55,25 +55,24 @@ updated: [today]
|
|
|
55
55
|
|
|
56
56
|
## Identity
|
|
57
57
|
|
|
58
|
-
-
|
|
59
|
-
-
|
|
58
|
+
- Name: [from answers]
|
|
59
|
+
- Git email: [user.email]
|
|
60
60
|
|
|
61
61
|
## Communication Preferences
|
|
62
62
|
|
|
63
|
-
-
|
|
64
|
-
-
|
|
63
|
+
- Style: [Terse/Detailed]
|
|
64
|
+
- Tone: [Professional/Casual]
|
|
65
65
|
|
|
66
66
|
## Workflow Preferences
|
|
67
67
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
68
|
+
- Git commits: [Auto/Ask-first]
|
|
69
|
+
- Beads updates: [Auto/Ask-first]
|
|
70
70
|
|
|
71
71
|
## Technical Preferences
|
|
72
72
|
|
|
73
|
-
-
|
|
74
|
-
- **Frameworks:** [Preferred frameworks]
|
|
73
|
+
- Languages/frameworks: [Preferred languages/frameworks]
|
|
75
74
|
|
|
76
|
-
##
|
|
75
|
+
## Things to Remember
|
|
77
76
|
|
|
78
77
|
- [Rule 1]
|
|
79
78
|
- [Rule 2]
|
|
@@ -82,15 +81,15 @@ updated: [today]
|
|
|
82
81
|
|
|
83
82
|
## Phase 3: Update opencode.json
|
|
84
83
|
|
|
85
|
-
Ensure user.md is loaded in instructions
|
|
84
|
+
Ensure `user.md` is loaded in `instructions` (bare paths, no `file://` prefix).
|
|
85
|
+
|
|
86
|
+
`tech-stack.md` is the core project memory file. Other files such as `project.md`, `roadmap.md`, `state.md`, and `gotchas.md` are optional/project-specific and should only be added if they actually exist and you want them injected.
|
|
87
|
+
|
|
88
|
+
Example minimal setup:
|
|
86
89
|
|
|
87
90
|
```json
|
|
88
91
|
{
|
|
89
|
-
"instructions": [
|
|
90
|
-
"file://.opencode/AGENTS.md",
|
|
91
|
-
"file://.opencode/memory/project/tech-stack.md",
|
|
92
|
-
"file://.opencode/memory/project/user.md"
|
|
93
|
-
]
|
|
92
|
+
"instructions": [".opencode/memory/project/user.md", ".opencode/memory/project/tech-stack.md"]
|
|
94
93
|
}
|
|
95
94
|
```
|
|
96
95
|
|
|
@@ -100,4 +99,7 @@ Output:
|
|
|
100
99
|
|
|
101
100
|
1. user.md created at `.opencode/memory/project/user.md`
|
|
102
101
|
2. Preferences captured
|
|
103
|
-
3.
|
|
102
|
+
3. `tech-stack.md` is the only required project memory file by default
|
|
103
|
+
4. Additional project memory files are optional and can be added later
|
|
104
|
+
5. Custom context available at `.opencode/context/` (preserved during init --force and upgrade)
|
|
105
|
+
6. Next step: `/init-context` if the user wants fuller project-planning memory files
|
|
@@ -63,11 +63,10 @@ skill({ name: "executing-plans" });
|
|
|
63
63
|
// Per-task commits after each task passes verification
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
Follow the [Verification Protocol](../skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md):
|
|
67
67
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
- `vitest` (if tests exist for changed areas)
|
|
68
|
+
- Use **full mode** for final verification
|
|
69
|
+
- Use **incremental mode** between implementation waves
|
|
71
70
|
|
|
72
71
|
Checkpoint only at `checkpoint:human-verify` or `checkpoint:decision` tasks.
|
|
73
72
|
|
|
@@ -193,55 +193,13 @@ After each task completes (verification passed):
|
|
|
193
193
|
- Modifying files outside task scope → stop, ask user
|
|
194
194
|
- Rule 4 deviation encountered → stop, present options
|
|
195
195
|
|
|
196
|
-
## Phase 4:
|
|
196
|
+
## Phase 4: Verification
|
|
197
197
|
|
|
198
|
-
|
|
198
|
+
Follow the [Verification Protocol](../skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md):
|
|
199
199
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
{
|
|
204
|
-
header: "Verification Gates",
|
|
205
|
-
question: "Which verification gates should run?",
|
|
206
|
-
options: [
|
|
207
|
-
{
|
|
208
|
-
label: "All (Recommended)",
|
|
209
|
-
description: "build + test + lint + typecheck — full validation",
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
label: "Essential only",
|
|
213
|
-
description: "build + test — faster, basic validation",
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
label: "Test only",
|
|
217
|
-
description: "Just run tests",
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
label: "Skip gates",
|
|
221
|
-
description: "Trust my changes, skip verification",
|
|
222
|
-
},
|
|
223
|
-
],
|
|
224
|
-
},
|
|
225
|
-
],
|
|
226
|
-
});
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
## Phase 5: Run Verification Gates
|
|
230
|
-
|
|
231
|
-
Based on selection, run appropriate gates. Detect project type:
|
|
232
|
-
|
|
233
|
-
| Project Type | Detect Via | Build | Test | Lint | Typecheck |
|
|
234
|
-
| --------------- | ----------------------------- | ---------------- | --------------- | ----------------------------- | ------------------------------------- |
|
|
235
|
-
| Node/TypeScript | `package.json` | `npm run build` | `npm test` | `npm run lint` | `npm run typecheck` or `tsc --noEmit` |
|
|
236
|
-
| Rust | `Cargo.toml` | `cargo build` | `cargo test` | `cargo clippy -- -D warnings` | (included in build) |
|
|
237
|
-
| Python | `pyproject.toml` / `setup.py` | — | `pytest` | `ruff check .` | `mypy .` |
|
|
238
|
-
| Go | `go.mod` | `go build ./...` | `go test ./...` | `golangci-lint run` | (included in build) |
|
|
239
|
-
|
|
240
|
-
Check `package.json` scripts, `Makefile`, or `justfile` for project-specific commands first.
|
|
241
|
-
|
|
242
|
-
Also run PRD `Verify:` commands.
|
|
243
|
-
|
|
244
|
-
If any gate fails, fix before proceeding.
|
|
200
|
+
- Use **full mode** (shipping requires all gates)
|
|
201
|
+
- All 4 gates must pass before proceeding to commit/push
|
|
202
|
+
- Also run PRD `Verify:` commands
|
|
245
203
|
|
|
246
204
|
## Phase 6: Review
|
|
247
205
|
|
|
@@ -268,7 +226,7 @@ Wait for all 5 agents to return. Synthesize findings.
|
|
|
268
226
|
|
|
269
227
|
**Auto-fix rule:**
|
|
270
228
|
|
|
271
|
-
- Critical issues → fix inline, re-run Phase
|
|
229
|
+
- Critical issues → fix inline, re-run Phase 4 verification, continue
|
|
272
230
|
- Important issues → fix inline, continue
|
|
273
231
|
- Minor issues → add to bead comments, note for `/compound` step
|
|
274
232
|
|
|
@@ -98,8 +98,25 @@ question({
|
|
|
98
98
|
|
|
99
99
|
**If feature branch selected:**
|
|
100
100
|
|
|
101
|
+
Map bead type to branch prefix:
|
|
102
|
+
|
|
103
|
+
| Bead Type | Branch Prefix |
|
|
104
|
+
| --------- | ------------- |
|
|
105
|
+
| feature | feat |
|
|
106
|
+
| bug | fix |
|
|
107
|
+
| task | task |
|
|
108
|
+
| epic | epic |
|
|
109
|
+
|
|
101
110
|
```bash
|
|
102
|
-
|
|
111
|
+
PREFIX=$(case "$BEAD_TYPE" in
|
|
112
|
+
feature) echo "feat" ;;
|
|
113
|
+
bug) echo "fix" ;;
|
|
114
|
+
task) echo "task" ;;
|
|
115
|
+
epic) echo "epic" ;;
|
|
116
|
+
*) echo "task" ;;
|
|
117
|
+
esac)
|
|
118
|
+
TITLE_SLUG=$(echo "$TITLE" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
|
|
119
|
+
git checkout -b $PREFIX/$ARGUMENTS-$TITLE_SLUG
|
|
103
120
|
```
|
|
104
121
|
|
|
105
122
|
**If worktree selected:**
|
|
@@ -110,13 +127,13 @@ skill({ name: "using-git-worktrees" });
|
|
|
110
127
|
|
|
111
128
|
**If current branch:** Continue without branch creation.
|
|
112
129
|
|
|
113
|
-
## Phase
|
|
130
|
+
## Phase 5: Convert PRD to Tasks
|
|
114
131
|
|
|
115
132
|
If `prd.json` doesn't exist yet, use `prd-task` skill to convert PRD markdown → executable JSON.
|
|
116
133
|
|
|
117
134
|
If `prd.json` already exists, show progress (completed/total tasks).
|
|
118
135
|
|
|
119
|
-
## Phase
|
|
136
|
+
## Phase 6: Report and Route
|
|
120
137
|
|
|
121
138
|
Output:
|
|
122
139
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Verify implementation completeness, correctness, and coherence
|
|
3
|
-
argument-hint: "<bead-id> [--quick] [--fix]"
|
|
3
|
+
argument-hint: "<bead-id> [--quick] [--full] [--fix]"
|
|
4
4
|
agent: review
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -17,11 +17,12 @@ skill({ name: "verification-before-completion" });
|
|
|
17
17
|
|
|
18
18
|
## Parse Arguments
|
|
19
19
|
|
|
20
|
-
| Argument | Default | Description
|
|
21
|
-
| ----------- | -------- |
|
|
22
|
-
| `<bead-id>` | required | The bead to verify
|
|
23
|
-
| `--quick` | false | Gates only, skip coherence check
|
|
24
|
-
| `--
|
|
20
|
+
| Argument | Default | Description |
|
|
21
|
+
| ----------- | -------- | ---------------------------------------------- |
|
|
22
|
+
| `<bead-id>` | required | The bead to verify |
|
|
23
|
+
| `--quick` | false | Gates only, skip coherence check |
|
|
24
|
+
| `--full` | false | Force full verification mode (non-incremental) |
|
|
25
|
+
| `--fix` | false | Auto-fix lint/format issues |
|
|
25
26
|
|
|
26
27
|
## Determine Input Type
|
|
27
28
|
|
|
@@ -63,21 +64,15 @@ Extract all requirements/tasks from the PRD and verify each is implemented:
|
|
|
63
64
|
|
|
64
65
|
## Phase 3: Correctness
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
Follow the [Verification Protocol](../skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md):
|
|
67
68
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
| Python | `pyproject.toml` / `setup.py` | — | `pytest` | `ruff check .` | `mypy .` |
|
|
73
|
-
| Go | `go.mod` | `go build ./...` | `go test ./...` | `golangci-lint run` | (included in build) |
|
|
74
|
-
|
|
75
|
-
Check `package.json` scripts, `Makefile`, or `justfile` for project-specific commands first — prefer those over generic defaults.
|
|
69
|
+
- Use **incremental mode** for `verify` (pre-commit checks)
|
|
70
|
+
- Use **full mode** if `--full` flag is passed
|
|
71
|
+
- Run parallel group first, then sequential group
|
|
72
|
+
- Report results in gate results table format
|
|
76
73
|
|
|
77
74
|
If `--fix` flag provided, run the project's auto-fix command (e.g., `npm run lint:fix`, `ruff check --fix`, `cargo clippy --fix`).
|
|
78
75
|
|
|
79
|
-
Report gate results (pass/warn/fail for each).
|
|
80
|
-
|
|
81
76
|
## Phase 4: Coherence (skip with --quick)
|
|
82
77
|
|
|
83
78
|
Cross-reference artifacts for contradictions:
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Project Context
|
|
2
|
+
|
|
3
|
+
Files in this directory are automatically injected into all AI prompts via the `instructions` array in `opencode.json`.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Put project-specific context here that you want the AI to always know about:
|
|
8
|
+
- Architecture decisions
|
|
9
|
+
- Business domain knowledge
|
|
10
|
+
- API conventions
|
|
11
|
+
- Team agreements
|
|
12
|
+
- Anything the AI needs as background context
|
|
13
|
+
|
|
14
|
+
## How it works
|
|
15
|
+
|
|
16
|
+
1. Add `.md` files to this directory
|
|
17
|
+
2. Add the file path to `opencode.json` → `instructions[]`:
|
|
18
|
+
```json
|
|
19
|
+
"instructions": [
|
|
20
|
+
".opencode/context/your-file.md"
|
|
21
|
+
]
|
|
22
|
+
```
|
|
23
|
+
3. The file content will be injected into every AI prompt
|
|
24
|
+
|
|
25
|
+
## Important
|
|
26
|
+
|
|
27
|
+
- This directory is **preserved** during `init --force` and `upgrade`
|
|
28
|
+
- Keep files concise — every token counts in the AI context window
|
|
29
|
+
- Use markdown format for best results
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://opencode.ai/config.json",
|
|
3
|
+
"keybinds": {
|
|
4
|
+
"leader": "`",
|
|
5
|
+
"session_parent": "<leader>up"
|
|
6
|
+
},
|
|
3
7
|
"agent": {
|
|
4
8
|
"build": {
|
|
5
9
|
"description": "Primary development agent with full codebase access",
|
|
@@ -10,11 +14,11 @@
|
|
|
10
14
|
},
|
|
11
15
|
"explore": {
|
|
12
16
|
"description": "Fast codebase search specialist",
|
|
13
|
-
"model": "
|
|
17
|
+
"model": "github-copilot/claude-haiku-4.5"
|
|
14
18
|
},
|
|
15
19
|
"general": {
|
|
16
20
|
"description": "General-purpose subagent for fast, well-defined tasks; delegates complexity quickly",
|
|
17
|
-
"model": "github-copilot/gpt-5.
|
|
21
|
+
"model": "github-copilot/gpt-5.3-codex"
|
|
18
22
|
},
|
|
19
23
|
"painter": {
|
|
20
24
|
"description": "Image generation and editing specialist using Gemini 3 Pro Image. Use for creating UI mockups, app icons, hero images, visual assets, and editing/redacting existing images",
|
|
@@ -22,19 +26,19 @@
|
|
|
22
26
|
},
|
|
23
27
|
"plan": {
|
|
24
28
|
"description": "Primary planning agent for architecture and multi-phase execution",
|
|
25
|
-
"model": "
|
|
29
|
+
"model": "github-copilot/gpt-5.4"
|
|
26
30
|
},
|
|
27
31
|
"review": {
|
|
28
32
|
"description": "Code review, debugging, and security audit specialist",
|
|
29
|
-
"model": "
|
|
33
|
+
"model": "github-copilot/claude-opus-4.6"
|
|
30
34
|
},
|
|
31
35
|
"scout": {
|
|
32
36
|
"description": "External research specialist for library docs and patterns",
|
|
33
|
-
"model": "
|
|
37
|
+
"model": "github-copilot/claude-sonnet-4.6"
|
|
34
38
|
},
|
|
35
39
|
"vision": {
|
|
36
40
|
"description": "Visual content specialist for multimodal analysis and UI/UX guidance",
|
|
37
|
-
"model": "
|
|
41
|
+
"model": "github-copilot/gemini-3.1-pro-preview"
|
|
38
42
|
}
|
|
39
43
|
},
|
|
40
44
|
"autoupdate": false,
|
|
@@ -387,6 +391,47 @@
|
|
|
387
391
|
}
|
|
388
392
|
}
|
|
389
393
|
},
|
|
394
|
+
"gpt-5.4": {
|
|
395
|
+
"modalities": {
|
|
396
|
+
"input": [
|
|
397
|
+
"text",
|
|
398
|
+
"image"
|
|
399
|
+
],
|
|
400
|
+
"output": [
|
|
401
|
+
"text"
|
|
402
|
+
]
|
|
403
|
+
},
|
|
404
|
+
"attachment": true,
|
|
405
|
+
"limit": {
|
|
406
|
+
"context": 400000,
|
|
407
|
+
"output": 128000
|
|
408
|
+
},
|
|
409
|
+
"options": {
|
|
410
|
+
"reasoningEffort": "medium",
|
|
411
|
+
"reasoningSummary": "auto",
|
|
412
|
+
"textVerbosity": "medium"
|
|
413
|
+
},
|
|
414
|
+
"reasoning": true,
|
|
415
|
+
"temperature": true,
|
|
416
|
+
"tool_call": true,
|
|
417
|
+
"variants": {
|
|
418
|
+
"high": {
|
|
419
|
+
"include": [
|
|
420
|
+
"reasoning.encrypted_content"
|
|
421
|
+
],
|
|
422
|
+
"reasoningEffort": "high",
|
|
423
|
+
"reasoningSummary": "auto"
|
|
424
|
+
},
|
|
425
|
+
"low": {
|
|
426
|
+
"reasoningEffort": "low",
|
|
427
|
+
"reasoningSummary": "auto"
|
|
428
|
+
},
|
|
429
|
+
"medium": {
|
|
430
|
+
"reasoningEffort": "medium",
|
|
431
|
+
"reasoningSummary": "auto"
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
},
|
|
390
435
|
"gpt-5.2-codex": {
|
|
391
436
|
"attachment": true,
|
|
392
437
|
"limit": {
|
|
@@ -423,6 +468,44 @@
|
|
|
423
468
|
"textVerbosity": "medium"
|
|
424
469
|
}
|
|
425
470
|
}
|
|
471
|
+
},
|
|
472
|
+
"gpt-5.3-codex": {
|
|
473
|
+
"name": "Gpt 5 3 Codex",
|
|
474
|
+
"attachment": true,
|
|
475
|
+
"limit": {
|
|
476
|
+
"context": 400000,
|
|
477
|
+
"output": 128000
|
|
478
|
+
},
|
|
479
|
+
"options": {
|
|
480
|
+
"reasoningEffort": "medium",
|
|
481
|
+
"reasoningSummary": "auto",
|
|
482
|
+
"textVerbosity": "medium"
|
|
483
|
+
},
|
|
484
|
+
"reasoning": true,
|
|
485
|
+
"temperature": true,
|
|
486
|
+
"tool_call": true,
|
|
487
|
+
"variants": {
|
|
488
|
+
"fast": {
|
|
489
|
+
"disabled": true
|
|
490
|
+
},
|
|
491
|
+
"high": {
|
|
492
|
+
"include": [
|
|
493
|
+
"reasoning.encrypted_content"
|
|
494
|
+
],
|
|
495
|
+
"reasoningEffort": "high",
|
|
496
|
+
"reasoningSummary": "auto",
|
|
497
|
+
"textVerbosity": "medium"
|
|
498
|
+
},
|
|
499
|
+
"low": {
|
|
500
|
+
"reasoningEffort": "low",
|
|
501
|
+
"reasoningSummary": "auto"
|
|
502
|
+
},
|
|
503
|
+
"medium": {
|
|
504
|
+
"reasoningEffort": "medium",
|
|
505
|
+
"reasoningSummary": "auto",
|
|
506
|
+
"textVerbosity": "medium"
|
|
507
|
+
}
|
|
508
|
+
}
|
|
426
509
|
}
|
|
427
510
|
},
|
|
428
511
|
"options": {
|
|
@@ -533,6 +616,47 @@
|
|
|
533
616
|
}
|
|
534
617
|
}
|
|
535
618
|
},
|
|
619
|
+
"gpt-5.4": {
|
|
620
|
+
"modalities": {
|
|
621
|
+
"input": [
|
|
622
|
+
"text",
|
|
623
|
+
"image"
|
|
624
|
+
],
|
|
625
|
+
"output": [
|
|
626
|
+
"text"
|
|
627
|
+
]
|
|
628
|
+
},
|
|
629
|
+
"attachment": true,
|
|
630
|
+
"limit": {
|
|
631
|
+
"context": 400000,
|
|
632
|
+
"output": 128000
|
|
633
|
+
},
|
|
634
|
+
"options": {
|
|
635
|
+
"reasoningEffort": "medium",
|
|
636
|
+
"reasoningSummary": "auto",
|
|
637
|
+
"textVerbosity": "medium"
|
|
638
|
+
},
|
|
639
|
+
"reasoning": true,
|
|
640
|
+
"temperature": true,
|
|
641
|
+
"tool_call": true,
|
|
642
|
+
"variants": {
|
|
643
|
+
"high": {
|
|
644
|
+
"include": [
|
|
645
|
+
"reasoning.encrypted_content"
|
|
646
|
+
],
|
|
647
|
+
"reasoningEffort": "high",
|
|
648
|
+
"reasoningSummary": "auto"
|
|
649
|
+
},
|
|
650
|
+
"low": {
|
|
651
|
+
"reasoningEffort": "low",
|
|
652
|
+
"reasoningSummary": "auto"
|
|
653
|
+
},
|
|
654
|
+
"medium": {
|
|
655
|
+
"reasoningEffort": "medium",
|
|
656
|
+
"reasoningSummary": "auto"
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
},
|
|
536
660
|
"gpt-5.2-codex": {
|
|
537
661
|
"variants": {
|
|
538
662
|
"fast": {
|
|
@@ -1553,4 +1677,4 @@
|
|
|
1553
1677
|
".DS_Store"
|
|
1554
1678
|
]
|
|
1555
1679
|
}
|
|
1556
|
-
}
|
|
1680
|
+
}
|