From the combined Ornith guidance (§8.2), checked against OpenCode 1.18.30's schema and permission docs (last matching rule wins). Reads and edits outside the repository are denied, except OpenCode's own tool-output and temporary directories; web access, questions, subagents and doom-loop prompts are denied; edits to AGENTS.md, CLAUDE.md, opencode.json, the design documents, specs, plans and tools/ are denied; shell commands are allowed except push, reset, rebase, amend, switch, checkout, find /, locate, sudo, rm -rf / and curl/wget. A denied call continues the loop (experimental.continue_loop_on_deny, untested with Ornith). steps = 400 is a backstop. No custom prompt: OpenCode already reads AGENTS.md, and a prompt may replace its tool guidance. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
58 lines
1.4 KiB
JSON
58 lines
1.4 KiB
JSON
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"autoupdate": false,
|
|
"share": "disabled",
|
|
"permission": {
|
|
"external_directory": {
|
|
"*": "deny",
|
|
"~/.local/share/opencode/tool-output/*": "allow",
|
|
"/var/folders/*/T/opencode/*": "allow",
|
|
"/tmp/opencode/*": "allow"
|
|
},
|
|
"webfetch": "deny",
|
|
"websearch": "deny",
|
|
"question": "deny",
|
|
"task": "deny",
|
|
"doom_loop": "deny",
|
|
"edit": {
|
|
"*": "allow",
|
|
"AGENTS.md": "deny",
|
|
"CLAUDE.md": "deny",
|
|
"opencode.json": "deny",
|
|
"docs/design.md": "deny",
|
|
"docs/decisions.md": "deny",
|
|
"docs/inference-contract.md": "deny",
|
|
"docs/specs/**": "deny",
|
|
"docs/plans/**": "deny",
|
|
"tools/**": "deny"
|
|
},
|
|
"bash": {
|
|
"*": "allow",
|
|
"git push*": "deny",
|
|
"git reset*": "deny",
|
|
"git rebase*": "deny",
|
|
"git commit --amend*": "deny",
|
|
"git switch*": "deny",
|
|
"git checkout*": "deny",
|
|
"find /*": "deny",
|
|
"locate *": "deny",
|
|
"sudo *": "deny",
|
|
"rm -rf /*": "deny",
|
|
"curl *": "deny",
|
|
"wget *": "deny"
|
|
}
|
|
},
|
|
"experimental": {
|
|
"continue_loop_on_deny": true
|
|
},
|
|
"agent": {
|
|
"implement": {
|
|
"description": "Implements exactly one closed task file from docs/plans, then commits and logs it.",
|
|
"mode": "primary",
|
|
"temperature": 0.6,
|
|
"top_p": 0.95,
|
|
"steps": 400
|
|
}
|
|
}
|
|
}
|