-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopencode.jsonc
More file actions
101 lines (96 loc) · 3.85 KB
/
Copy pathopencode.jsonc
File metadata and controls
101 lines (96 loc) · 3.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
{
// opencode-native config for the Baba prompt system.
// Inert for other agents — AGENTS.md + prompt-system/
// remain the portable copy-paste unit. This file only affects opencode.
"$schema": "https://opencode.ai/config.json",
// Guarantees the system core is in every opencode session without relying
// on the model choosing to read it. Mirrors the AGENTS.md startup instruction.
// The system is merged (9 files in prompt-system/ plus AGENTS.md; was 39: bootstrap.txt + 38 modules; 2026-08-31 cycle-removal pass,
// then restoration pass to 9 files). All files are pinned so module loading is
// fully deterministic. Phase-specific additions are diligence-loaded by the
// agent reading 00-system.md's load rules.
// Entries are explicit paths, never globs.
// AGENTS.md is the sole entry point; prompt-system/ files follow its load order.
"instructions": [
"AGENTS.md",
"prompt-system/00-system.md",
"prompt-system/01-personas.md",
"prompt-system/02-decision-prompts.md",
"prompt-system/03-output-and-state.md",
"prompt-system/04-rubrics.md",
"prompt-system/05-impl-style.md",
"prompt-system/06-misc.md",
"prompt-system/07-protocols.md",
"prompt-system/08-plan-actual-gate.md"
],
// Prefer the read-only BabaSensei planning path by default. The native Build
// and Plan overrides in .opencode/agents/ orchestrate the role subagents below.
"default_agent": "plan",
// Loop protection: hard-stop repeated identical tool calls (doom loops).
// opencode fires doom_loop detection on 3+ consecutive identical calls and
// would default to "ask"; denying it halts the loop at the process level
// instead of auto-approving under permissive setups. Guards credit burn on
// loop-prone models (Grok-class). See prompt-system/00-system.md ## Loop protection.
"permission": {
"doom_loop": "deny"
},
// opencode plugins. @latest is fine for personal/dev use; pin a version
// when reproducibility matters.
"plugin": [
"opencode-vibeguard@latest",
"opencode-adaptive-thinking@latest",
"opencode-pty",
".opencode/plugins/baba-startup-gate.ts",
".opencode/plugins/baba-reading-protocol.ts",
".opencode/plugins/baba-protocol-enforce.ts",
".opencode/plugins/baba-prompt-system-loader.ts",
".opencode/plugins/baba-convention-review.ts",
".opencode/plugins/memory-worth",
".opencode/plugins/baba-subtask.ts",
".opencode/plugins/baba-goal-detect.ts",
".opencode/plugins/baba-bootstrap.ts",
".opencode/plugins/baba-drift.ts",
".opencode/plugins/baba-lock-enforce.ts",
".opencode/plugins/adaptive-temperature.ts",
".opencode/plugins/multi-model-consensus.ts"
],
// MCP servers mirror the fallback tiers in AGENTS.md, adapted to opencode's
// schema. Note: opencode interpolates {env:VAR}, NOT ${VAR}.
// Web search stack: exa (preferred when keyed), g-search (no-key Google MCP), curl (last resort).
"mcp": {
// Tier 1 — no keys required
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp"
},
"playwright": {
"type": "local",
"command": ["npx", "-y", "@playwright/mcp@0.0.80"],
"timeout": 30000
},
"playwright-headless": {
"type": "local",
"command": ["npx", "-y", "@playwright/mcp@0.0.80", "--headless"]
},
"g-search": {
"type": "local",
"command": ["npx", "-y", "g-search-mcp"]
},
"arxiv": {
"type": "local",
"command": ["uvx", "arxiv-mcp-server"]
},
// Tier 2 — requires env key; omit if key is not set
"exa": {
"type": "remote",
"url": "https://mcp.exa.ai/mcp",
"headers": { "x-api-key": "{env:EXA_API_KEY}" }
},
// Remote OAuth — no key, one-time browser consent via `opencode mcp auth trello`
"trello": {
"type": "remote",
"url": "https://mcp.trello.com/v1",
"oauth": {}
}
}
}