Kaynağa Gözat

Fix #164: Update to permission (singular) for opencode v1.1.1+ compatibility

- Changed 'permissions:' to 'permission:' in all 16 agent files
- Updated documentation to reflect new standard:
  - agent-frontmatter.md: Updated examples and validation rules
  - subagent-structure.md: Updated all permission patterns
  - tool-permission-errors.md: Updated examples
  - subagent-prompt-structure.md: Updated template
- Follows opencode v1.1.1+ specification
- Maintains backward compatibility (tools config still supported)
- Permission evaluation: last matching rule wins

References:
- https://opencode.ai/docs/permissions
- Issue #164
darrenhinde 6 ay önce
ebeveyn
işleme
68f2a392af

+ 1 - 1
.opencode/agent/core/openagent.md

@@ -16,7 +16,7 @@ tools:
   bash: true
   task: true
   patch: true
-permissions:
+permission:
   bash:
     "rm -rf *": "ask"
     "rm -rf /*": "deny"

+ 1 - 1
.opencode/agent/core/opencoder.md

@@ -16,7 +16,7 @@ tools:
   glob: true
   bash: true
   patch: true
-permissions:
+permission:
   bash:
     "rm -rf *": "ask"
     "sudo *": "deny"

+ 1 - 1
.opencode/agent/meta/repo-manager.md

@@ -28,7 +28,7 @@ tools:
     "**/*.secret": "deny"
     "node_modules/**": "deny"
     ".git/**": "deny"
-permissions:
+permission:
   bash:
     "rm -rf *": "ask"
     "rm -rf /*": "deny"

+ 1 - 1
.opencode/agent/subagents/code/build-agent.md

@@ -11,7 +11,7 @@ tools:
   task: true
   edit: false
   write: false
-permissions:
+permission:
   bash:
     "tsc": "allow"
     "mypy": "allow"

+ 1 - 1
.opencode/agent/subagents/code/coder-agent.md

@@ -12,7 +12,7 @@ tools:
   bash: false
   patch: true
   task: true
-permissions:
+permission:
   bash:
     "*": "deny"
   edit:

+ 1 - 1
.opencode/agent/subagents/code/reviewer.md

@@ -11,7 +11,7 @@ tools:
   edit: false
   write: false
   task: true
-permissions:
+permission:
   bash:
     "*": "deny"
   edit:

+ 1 - 1
.opencode/agent/subagents/code/tester.md

@@ -11,7 +11,7 @@ tools:
   write: true
   bash: true
   task: true
-permissions:
+permission:
   bash:
     "npx vitest *": "allow"
     "npx jest *": "allow"

+ 1 - 1
.opencode/agent/subagents/core/context-manager.md

@@ -11,7 +11,7 @@ tools:
   write: true
   bash: true
   task: true
-permissions:
+permission:
   read:
     "**/*": "allow"
   grep:

+ 1 - 1
.opencode/agent/subagents/core/context-retriever.md

@@ -11,7 +11,7 @@ tools:
   bash: false
   edit: false
   write: false
-permissions:
+permission:
   bash:
     "*": "deny"
   edit:

+ 1 - 1
.opencode/agent/subagents/core/documentation.md

@@ -11,7 +11,7 @@ tools:
   write: true
   bash: false
   task: true
-permissions:
+permission:
   bash:
     "*": "deny"
   edit:

+ 1 - 1
.opencode/agent/subagents/core/externalscout.md

@@ -15,7 +15,7 @@ tools:
   task: false
   todoread: false
   todowrite: false
-permissions:
+permission:
   read:
     ".opencode/skill/context7/**": "allow"
     ".tmp/external-context/**": "allow"

+ 1 - 1
.opencode/agent/subagents/core/task-manager.md

@@ -12,7 +12,7 @@ tools:
   bash: true
   task: true
   patch: true
-permissions:
+permission:
   bash:
     "npx ts-node*task-cli*": "allow"
     "mkdir -p .tmp/tasks*": "allow"

+ 1 - 1
.opencode/agent/subagents/development/devops-specialist.md

@@ -11,7 +11,7 @@ tools:
   task: true
   grep: true
   glob: true
-permissions:
+permission:
   task:
     contextscout: "allow"
     "*": "deny"

+ 1 - 1
.opencode/agent/subagents/development/frontend-specialist.md

@@ -11,7 +11,7 @@ tools:
   task: true
   glob: true
   grep: true
-permissions:
+permission:
   task:
     contextscout: "allow"
     externalscout: "allow"

+ 1 - 1
.opencode/agent/subagents/system-builder/context-organizer.md

@@ -10,7 +10,7 @@ tools:
   grep: true
   glob: true
   task: true
-permissions:
+permission:
   task:
     contextscout: "allow"
     "*": "deny"

+ 1 - 1
.opencode/agent/subagents/system-builder/workflow-designer.md

@@ -10,7 +10,7 @@ tools:
   grep: true
   glob: true
   task: true
-permissions:
+permission:
   task:
     contextscout: "allow"
     "*": "deny"

+ 2 - 2
.opencode/context/openagents-repo/errors/tool-permission-errors.md

@@ -31,7 +31,7 @@ Agent has tool **disabled** or **denied** in frontmatter:
 tools:
   bash: false    # ← Tool disabled
 
-permissions:
+permission:
   bash:
     "*": "deny"  # ← Explicitly denied
 ```
@@ -92,7 +92,7 @@ tools:
   write: false   # ← No file creation
   task: false    # ← No delegation (subagents don't delegate)
 
-permissions:
+permission:
   bash:
     "*": "deny"
   edit:

+ 1 - 1
.opencode/context/openagents-repo/examples/subagent-prompt-structure.md

@@ -32,7 +32,7 @@ tools:
   bash: false
   edit: false
   write: false
-permissions:
+permission:
   bash: "*": "deny"
   edit: "**/*": "deny"
   write: "**/*": "deny"

+ 8 - 6
.opencode/context/openagents-repo/standards/agent-frontmatter.md

@@ -41,7 +41,7 @@ tools:                               # Tool access
   bash: false
   task: false
 
-permissions:                         # Permission rules
+permission:                          # Permission rules (opencode v1.1.1+)
   bash:
     "git *": "allow"
     "*": "deny"
@@ -72,7 +72,7 @@ tools:
   write: true
   bash: true
   task: true
-permissions:
+permission:
   bash:
     "npx vitest *": "allow"
     "pytest *": "allow"
@@ -108,11 +108,11 @@ tools:
 
 ### 3. Wrong Field Names ❌
 ```yaml
-permission:  # ❌ Should be 'permissions'
+permissions:  # ❌ Deprecated - use 'permission' (singular) for v1.1.1+
   bash:
     "*": "deny"
 ```
-**Fix**: Use correct field name `permissions:`
+**Fix**: Use correct field name `permission:` (singular) for opencode v1.1.1+
 
 ### 4. Extra Delimiter Blocks ❌
 ```yaml
@@ -158,7 +158,7 @@ dependencies: []      # ❌ Not valid
 - [ ] Only valid OpenCode fields?
 - [ ] No duplicate keys?
 - [ ] No orphaned list items?
-- [ ] Correct field names (`permissions` not `permission`)?
+- [ ] Correct field names (`permission` not `permissions` for v1.1.1+)?
 - [ ] Only one `---` delimiter at top?
 - [ ] Metadata moved to agent-metadata.json?
 - [ ] Valid YAML syntax?
@@ -178,7 +178,9 @@ grep -A 50 "^---$" agent.md | grep -E "^[a-z_]+:" | sort | uniq -d
 grep -A 50 "^---$" agent.md | grep -E "^[a-z_]+:" | cut -d: -f1
 ```
 
-**Valid keys**: `name`, `description`, `mode`, `temperature`, `model`, `maxSteps`, `disable`, `hidden`, `prompt`, `tools`, `permissions`, `skills`
+**Valid keys**: `name`, `description`, `mode`, `temperature`, `model`, `maxSteps`, `disable`, `hidden`, `prompt`, `tools`, `permission`, `skills`
+
+**Note**: `permissions` (plural) is deprecated in opencode v1.1.1+. Use `permission` (singular) instead.
 
 ---
 

+ 5 - 5
.opencode/context/openagents-repo/standards/subagent-structure.md

@@ -15,7 +15,7 @@ description: Brief description
 mode: subagent
 temperature: 0.1
 tools: {...}
-permissions: {...}
+permission: {...}
 ---
 
 # AgentName
@@ -94,7 +94,7 @@ status: "success" | "failure"
 ### Read-Only (Reviewers, Analyzers)
 ```yaml
 tools: {read: true, grep: true, glob: true, bash: false, edit: false, write: false}
-permissions:
+permission:
   bash: {"*": "deny"}
   edit: {"**/*": "deny"}
   task: {contextscout: "allow", "*": "deny"}
@@ -103,7 +103,7 @@ permissions:
 ### Write-Enabled (Coders, Testers)
 ```yaml
 tools: {read: true, edit: true, write: true, bash: true}
-permissions:
+permission:
   bash: {"npm test *": "allow", "git *": "allow", "sudo *": "deny", "*": "deny"}
   edit: {"**/*.env*": "deny", "**/*.key": "deny"}
   task: {contextscout: "allow", "*": "deny"}
@@ -112,7 +112,7 @@ permissions:
 ### Restricted Bash (Task Managers)
 ```yaml
 tools: {read: true, bash: true}
-permissions:
+permission:
   bash: {"npx ts-node*task-cli*": "allow", "mkdir -p .tmp/tasks*": "allow", "*": "deny"}
 ```
 
@@ -163,7 +163,7 @@ permissions:
 
 **Security Pattern**:
 ```markdown
-permissions:
+permission:
   edit:
     "**/*.env*": "deny"
     "**/*.key": "deny"