opencode.json: an implement agent for unattended runs; run-plan uses it
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>
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"$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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user