mirror of
https://github.com/cole-maxwell1/dotfiles.git
synced 2026-08-02 12:23:54 -04:00
e94d6b3c14
- add the get_column_info custom tool for the ibmi-mcp-server and
relocate its --tools path from a hardcoded absolute path into the
version-controlled tree via {env:HOME} interpolation
- reorder permission rules so "rm -rf *" (deny) is no longer shadowed
by "rm *" (ask); last-match-wins now resolves rm -rf to deny
- add allow rules for the Python toolchain (unittest, py_compile,
venv activation, ruff check/format)
- rename plugin/ to plugins/ to match the documented plural convention
- commit package.json and package-lock.json so the ibmi-gate plugin
resolves @opencode-ai/plugin on a fresh stow
- correct the README opencode directory description
137 lines
3.6 KiB
JSON
137 lines
3.6 KiB
JSON
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"permission": {
|
|
"bash": {
|
|
"*": "ask",
|
|
// Git
|
|
"git log *": "allow",
|
|
"git commit *": "ask",
|
|
"git status *": "allow",
|
|
"git diff *": "allow",
|
|
"git show *": "allow",
|
|
"git push *": "ask",
|
|
// GNU Utils
|
|
"sudo *": "deny",
|
|
"curl *": "ask",
|
|
"wget *": "ask",
|
|
"diff *": "allow",
|
|
"npm *": "allow",
|
|
"rm *": "ask",
|
|
"rm -rf *": "deny",
|
|
"grep *": "allow",
|
|
"sort *": "allow",
|
|
"head *": "allow",
|
|
"tail *": "allow",
|
|
"echo *": "allow",
|
|
"which *": "allow",
|
|
"find *": "allow",
|
|
"ls *": "allow",
|
|
"wc *": "allow",
|
|
// Go
|
|
"go build *": "allow",
|
|
"go test *": "allow",
|
|
"go vet *": "allow",
|
|
"go mod tidy": "allow",
|
|
"go mod download": "allow",
|
|
// Python
|
|
"python -m unittest *": "allow",
|
|
"python -m py_compile": "allow",
|
|
"python3 -m venv .venv": "allow",
|
|
"source .venv/bin/activate": "allow",
|
|
"ruff check *": "allow",
|
|
"ruff format --check *": "allow",
|
|
// Dotnet
|
|
"dotnet *": "allow",
|
|
// Docker
|
|
"docker ps *": "allow",
|
|
"docker logs *": "allow",
|
|
"docker compose logs *": "allow",
|
|
},
|
|
"read": {
|
|
".env": "deny",
|
|
".secrets": "deny",
|
|
"*.key": "deny",
|
|
"*.pem": "deny",
|
|
"id_rsa": "deny",
|
|
"id_ed25519": "deny",
|
|
".aws/credentials": "deny",
|
|
"~/.ssh/known_hosts": "allow",
|
|
},
|
|
"grep": "allow",
|
|
"glob": "allow",
|
|
"question": "allow",
|
|
"lsp": "allow",
|
|
"websearch": "allow",
|
|
},
|
|
"mcp": {
|
|
"zai-mcp-server": {
|
|
"type": "local",
|
|
"command": ["npx", "-y", "@z_ai/mcp-server"],
|
|
"environment": {
|
|
"Z_AI_API_KEY": "{env:ZAI_API_KEY}",
|
|
"Z_AI_MODE": "ZAI",
|
|
},
|
|
},
|
|
"web-search-prime": {
|
|
"type": "remote",
|
|
"url": "https://api.z.ai/api/mcp/web_search_prime/mcp",
|
|
"headers": {
|
|
"Authorization": "Bearer {env:ZAI_API_KEY}",
|
|
},
|
|
},
|
|
"web-reader": {
|
|
"type": "remote",
|
|
"url": "https://api.z.ai/api/mcp/web_reader/mcp",
|
|
"headers": {
|
|
"Authorization": "Bearer {env:ZAI_API_KEY}",
|
|
},
|
|
},
|
|
"zread": {
|
|
"type": "remote",
|
|
"url": "https://api.z.ai/api/mcp/zread/mcp",
|
|
"headers": {
|
|
"Authorization": "Bearer {env:ZAI_API_KEY}",
|
|
},
|
|
},
|
|
"ibmi-server": {
|
|
"type": "local",
|
|
"command": [
|
|
"npx",
|
|
"-y",
|
|
"@ibm/ibmi-mcp-server@latest",
|
|
"--tools",
|
|
"{env:HOME}/.config/opencode/mcp/ibmi-mcp-server/tools/custom-tools.yaml",
|
|
],
|
|
"enabled": false,
|
|
"environment": {
|
|
"DB2i_HOST": "{env:DB2i_HOST}",
|
|
"DB2i_USER": "{env:DB2i_USER}",
|
|
"DB2i_PASS": "{env:DB2i_PASS}",
|
|
"DB2i_PORT": "8076",
|
|
"DB2i_IGNORE_UNAUTHORIZED": "true",
|
|
},
|
|
},
|
|
},
|
|
"lsp": true,
|
|
"formatter": true,
|
|
"model": "zai-coding-plan/glm-5.2",
|
|
"small_model": "zai-coding-plan/glm-4.5-air",
|
|
"agent": {
|
|
"explore": {
|
|
"model": "zai-coding-plan/glm-4.5-air",
|
|
},
|
|
"scout": {
|
|
"model": "zai-coding-plan/glm-4.5-air",
|
|
},
|
|
},
|
|
"share": "disabled",
|
|
"snapshot": true,
|
|
// OpenCode Quota: tuiCommandDisplay chooses whether native TUI command output appears in the session transcript or a local popup dialog.
|
|
// OpenCode Quota: loads the server plugin for slash commands and quota checks.
|
|
"plugin": ["./plugins/ibmi-gate.ts", "@slkiser/opencode-quota@latest"],
|
|
"provider": {
|
|
// Detected zai authentication; opencode-quota added this global provider declaration.
|
|
"zai": {},
|
|
},
|
|
}
|