BT  ·  2026-09-21

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}