opencode.jsonc
1{
2 "$schema": "https://opencode.ai/config.json",
3 "update": "disable",
4 "default_agent": "plan",
5 "share": "disabled",
6 "agents": {
7 "plan": {
8 "mode": "primary",
9 "model": "opencode-go/muse-spark-1.3-contributor"
10 },
11 "build": {
12 "mode": "primary",
13 "model": "opencode-go/muse-spark-1.3-contributor"
14 }
15 },
16 "permissions": [
17 { "action": "*", "resource": "*", "effect": "allow" },
18 { "action": "shell", "resource": "*", "effect": "allow" },
19 { "action": "shell", "resource": "grep *", "effect": "allow" },
20 { "action": "shell", "resource": "go *", "effect": "allow" },
21 { "action": "shell", "resource": "git *", "effect": "allow" },
22 { "action": "shell", "resource": "pnpm run *", "effect": "allow" },
23 { "action": "shell", "resource": "echo *", "effect": "allow" },
24 { "action": "shell", "resource": "pnpm format", "effect": "allow" },
25 { "action": "shell", "resource": "pnpm check", "effect": "allow" },
26 { "action": "shell", "resource": "pnpm build", "effect": "allow" },
27 { "action": "shell", "resource": "devenv shell *", "effect": "allow" },
28 { "action": "shell", "resource": "go get *", "effect": "ask" },
29 { "action": "shell", "resource": "pnpm add *", "effect": "ask" },
30 { "action": "shell", "resource": "npm *", "effect": "ask" },
31 { "action": "shell", "resource": "npx *", "effect": "ask" },
32 { "action": "shell", "resource": "rm *", "effect": "ask" },
33 { "action": "shell", "resource": "rm /tmp/*", "effect": "allow" },
34 { "action": "shell", "resource": "rm -rf /tmp/*", "effect": "allow" },
35 { "action": "shell", "resource": "git add *", "effect": "deny" },
36 { "action": "shell", "resource": "git commit *", "effect": "deny" },
37 { "action": "external_directory", "resource": "/nix/store/*", "effect": "allow" },
38 { "action": "external_directory", "resource": "/tmp/*", "effect": "allow" },
39 { "action": "external_directory", "resource": "~/.agents/*", "effect": "allow" },
40 { "action": "external_directory", "resource": "~/projects/*", "effect": "allow" },
41 { "action": "external_directory", "resource": "~/projects/data", "effect": "ask" },
42 { "action": "external_directory", "resource": "~/.config/*", "effect": "ask" },
43 { "action": "external_directory", "resource": "~/.ssh", "effect": "deny" },
44 { "action": "read", "resource": "*", "effect": "allow" },
45 { "action": "read", "resource": "*.env", "effect": "deny" },
46 { "action": "read", "resource": "*.env.*", "effect": "deny" },
47 { "action": "read", "resource": "*.env.example", "effect": "allow" },
48 { "action": "edit", "resource": "/tmp/**/*", "effect": "allow" },
49 { "action": "edit", "resource": "/tmp/**/.*", "effect": "allow" }
50 ],
51 "mcp": {
52 "servers": {
53 "exa": {
54 "type": "remote",
55 "url": "https://mcp.exa.ai/mcp?tools=web_search_exa,get_code_context_exa"
56 },
57 "context7": {
58 "type": "remote",
59 "url": "https://mcp.context7.com/mcp",
60 "oauth": false,
61 "headers": {
62 "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
63 }
64 }
65 }
66 }
67}