update config for OpenCode v2
2 files changed,  +65, -57
A cli.json
+16, -0
 1@@ -0,0 +1,16 @@
 2+{
 3+  "$schema": "https://opencode.ai/v2/cli.json",
 4+  "diffs": {
 5+    "wrap": "word"
 6+  },
 7+  "session": {
 8+    "sidebar": "auto",
 9+    "scrollbar": false,
10+    "thinking": "show"
11+  },
12+  "animations": true,
13+  "keybinds": {
14+    "agent.cycle": "tab",
15+    "prompt.autocomplete.complete": "shift+tab"
16+  }
17+}
M opencode.jsonc
+49, -57
  1@@ -1,9 +1,9 @@
  2 {
  3     "$schema": "https://opencode.ai/config.json",
  4-    "autoupdate": false,
  5+    "update": "disable",
  6     "default_agent": "plan",
  7     "share": "disabled",
  8-    "agent": {
  9+    "agents": {
 10         "plan": {
 11             "mode": "primary",
 12             "model": "opencode-go/muse-spark-1.3-contributor"
 13@@ -13,63 +13,55 @@
 14             "model": "opencode-go/muse-spark-1.3-contributor"
 15         }
 16     },
 17-    "permission": {
 18-        "*": "allow",
 19-        "bash": {
 20-            "*": "allow",
 21-            "grep *": "allow",
 22-            "go *": "allow",
 23-            "go get *": "ask",
 24-            "git add *": "deny",
 25-            "git commit *": "deny",
 26-            "git *": "allow",
 27-            "pnpm add *": "ask",
 28-            "npm *": "ask",
 29-            "npx *": "ask",
 30-            "rm *": "ask",
 31-            "rm /tmp/*": "allow",
 32-            "rm -rf /tmp/*": "allow",
 33-            "pnpm run *": "allow",
 34-            "echo *": "allow",
 35-            "pnpm format": "allow",
 36-            "pnpm check": "allow",
 37-            "pnpm build": "allow",
 38-            "devenv shell *": "allow"
 39-        },
 40-        "external_directory": {
 41-            "/nix/store/*": "allow",
 42-            "/tmp/*": "allow",
 43-            "~/.agents/*": "allow",
 44-            "~/projects/data": "ask",
 45-            "~/projects/*": "allow",
 46-            "~/.ssh": "deny",
 47-            "~/.config/*": "ask"
 48-        },
 49-        "doom_loop": "ask",
 50-        "read": {
 51-            "*": "allow",
 52-            "*.env": "deny",
 53-            "*.env.*": "deny",
 54-            "*.env.example": "allow"
 55-        },
 56-        "write": {
 57-            "/tmp/**/*": "allow",
 58-            "/tmp/**/.*": "allow"
 59-        }
 60-    },
 61+    "permissions": [
 62+        { "action": "*", "resource": "*", "effect": "allow" },
 63+        { "action": "shell", "resource": "*", "effect": "allow" },
 64+        { "action": "shell", "resource": "grep *", "effect": "allow" },
 65+        { "action": "shell", "resource": "go *", "effect": "allow" },
 66+        { "action": "shell", "resource": "git *", "effect": "allow" },
 67+        { "action": "shell", "resource": "pnpm run *", "effect": "allow" },
 68+        { "action": "shell", "resource": "echo *", "effect": "allow" },
 69+        { "action": "shell", "resource": "pnpm format", "effect": "allow" },
 70+        { "action": "shell", "resource": "pnpm check", "effect": "allow" },
 71+        { "action": "shell", "resource": "pnpm build", "effect": "allow" },
 72+        { "action": "shell", "resource": "devenv shell *", "effect": "allow" },
 73+        { "action": "shell", "resource": "go get *", "effect": "ask" },
 74+        { "action": "shell", "resource": "pnpm add *", "effect": "ask" },
 75+        { "action": "shell", "resource": "npm *", "effect": "ask" },
 76+        { "action": "shell", "resource": "npx *", "effect": "ask" },
 77+        { "action": "shell", "resource": "rm *", "effect": "ask" },
 78+        { "action": "shell", "resource": "rm /tmp/*", "effect": "allow" },
 79+        { "action": "shell", "resource": "rm -rf /tmp/*", "effect": "allow" },
 80+        { "action": "shell", "resource": "git add *", "effect": "deny" },
 81+        { "action": "shell", "resource": "git commit *", "effect": "deny" },
 82+        { "action": "external_directory", "resource": "/nix/store/*", "effect": "allow" },
 83+        { "action": "external_directory", "resource": "/tmp/*", "effect": "allow" },
 84+        { "action": "external_directory", "resource": "~/.agents/*", "effect": "allow" },
 85+        { "action": "external_directory", "resource": "~/projects/*", "effect": "allow" },
 86+        { "action": "external_directory", "resource": "~/projects/data", "effect": "ask" },
 87+        { "action": "external_directory", "resource": "~/.config/*", "effect": "ask" },
 88+        { "action": "external_directory", "resource": "~/.ssh", "effect": "deny" },
 89+        { "action": "read", "resource": "*", "effect": "allow" },
 90+        { "action": "read", "resource": "*.env", "effect": "deny" },
 91+        { "action": "read", "resource": "*.env.*", "effect": "deny" },
 92+        { "action": "read", "resource": "*.env.example", "effect": "allow" },
 93+        { "action": "edit", "resource": "/tmp/**/*", "effect": "allow" },
 94+        { "action": "edit", "resource": "/tmp/**/.*", "effect": "allow" }
 95+    ],
 96     "mcp": {
 97-        "exa": {
 98-            "type": "remote",
 99-            "url": "https://mcp.exa.ai/mcp?tools=web_search_exa,get_code_context_exa",
100-            "enabled": true
101-        },
102-        "context7": {
103-            "type": "remote",
104-            "url": "https://mcp.context7.com/mcp",
105-            "headers": {
106-                "CONTEXT7_API_KEY": "ctx7sk-cd88ebbc-3fd3-40d2-a0fc-ba66e634f420"
107+        "servers": {
108+            "exa": {
109+                "type": "remote",
110+                "url": "https://mcp.exa.ai/mcp?tools=web_search_exa,get_code_context_exa"
111             },
112-            "enabled": true
113+            "context7": {
114+                "type": "remote",
115+                "url": "https://mcp.context7.com/mcp",
116+                "oauth": false,
117+                "headers": {
118+                    "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
119+                }
120+            }
121         }
122     }
123 }