162 lines
4.7 KiB
JSON
162 lines
4.7 KiB
JSON
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
"agent": {
|
|
"build": {
|
|
"mode": "primary",
|
|
"model": "opencode/kimi-k2.5",
|
|
"prompt": "{file:./.opencode/prompts/build.txt}",
|
|
"permission": {
|
|
"edit": "allow",
|
|
"bash": {
|
|
"*": "ask",
|
|
"npm run *": "allow",
|
|
"npx vitest *": "allow",
|
|
"npx tsc *": "allow",
|
|
"git status": "allow",
|
|
"git diff *": "allow",
|
|
"git log *": "allow",
|
|
"git add *": "ask",
|
|
"git commit *": "ask",
|
|
"git push *": "ask"
|
|
}
|
|
}
|
|
},
|
|
"plan": {
|
|
"mode": "primary",
|
|
"model": "opencode/kimi-k2.5",
|
|
"temperature": 0.1,
|
|
"prompt": "{file:./.opencode/prompts/plan.txt}",
|
|
"permission": {
|
|
"edit": "deny",
|
|
"bash": "deny"
|
|
}
|
|
},
|
|
"orchestrator": {
|
|
"description": "Coordinates work across all Pulse modules. Plans tasks, delegates to module agents, owns no business logic.",
|
|
"mode": "subagent",
|
|
"model": "opencode/kimi-k2.5",
|
|
"temperature": 0.1,
|
|
"prompt": "{file:./.opencode/prompts/orchestrator.txt}",
|
|
"permission": {
|
|
"edit": "deny",
|
|
"bash": "deny",
|
|
"task": {
|
|
"*": "allow"
|
|
}
|
|
}
|
|
},
|
|
"fetcher-agent": {
|
|
"description": "Implements and maintains the fetcher module (modules/fetcher/). Handles HTTP fetching of RSS and Atom feeds.",
|
|
"mode": "subagent",
|
|
"model": "opencode/kimi-k2.5",
|
|
"temperature": 0.2,
|
|
"prompt": "{file:./.opencode/prompts/fetcher.txt}",
|
|
"permission": {
|
|
"edit": {
|
|
"modules/fetcher/**": "allow",
|
|
"interfaces/**": "ask",
|
|
"**": "deny"
|
|
},
|
|
"bash": {
|
|
"npx vitest run modules/fetcher*": "allow",
|
|
"npx tsc --noEmit": "allow",
|
|
"*": "deny"
|
|
}
|
|
}
|
|
},
|
|
"parser-agent": {
|
|
"description": "Implements and maintains the parser module (modules/parser/). Converts raw XML/Atom into FeedItem structs.",
|
|
"mode": "subagent",
|
|
"model": "opencode/kimi-k2.5",
|
|
"temperature": 0.2,
|
|
"prompt": "{file:./.opencode/prompts/parser.txt}",
|
|
"permission": {
|
|
"edit": {
|
|
"modules/parser/**": "allow",
|
|
"interfaces/**": "ask",
|
|
"**": "deny"
|
|
},
|
|
"bash": {
|
|
"npx vitest run modules/parser*": "allow",
|
|
"npx tsc --noEmit": "allow",
|
|
"*": "deny"
|
|
}
|
|
}
|
|
},
|
|
"dedup-agent": {
|
|
"description": "Implements and maintains the deduplication module (modules/dedup/). Filters already-seen feed items.",
|
|
"mode": "subagent",
|
|
"model": "opencode/kimi-k2.5",
|
|
"temperature": 0.2,
|
|
"prompt": "{file:./.opencode/prompts/dedup.txt}",
|
|
"permission": {
|
|
"edit": {
|
|
"modules/dedup/**": "allow",
|
|
"interfaces/**": "ask",
|
|
"**": "deny"
|
|
},
|
|
"bash": {
|
|
"npx vitest run modules/dedup*": "allow",
|
|
"npx tsc --noEmit": "allow",
|
|
"*": "deny"
|
|
}
|
|
}
|
|
},
|
|
"storage-agent": {
|
|
"description": "Implements and maintains the storage module (modules/storage/). Persists FeedItems to SQLite.",
|
|
"mode": "subagent",
|
|
"model": "opencode/kimi-k2.5",
|
|
"temperature": 0.2,
|
|
"prompt": "{file:./.opencode/prompts/storage.txt}",
|
|
"permission": {
|
|
"edit": {
|
|
"modules/storage/**": "allow",
|
|
"interfaces/**": "ask",
|
|
"**": "deny"
|
|
},
|
|
"bash": {
|
|
"npx vitest run modules/storage*": "allow",
|
|
"npx tsc --noEmit": "allow",
|
|
"*": "deny"
|
|
}
|
|
}
|
|
},
|
|
"formatter-agent": {
|
|
"description": "Implements and maintains the formatter module (modules/formatter/). Renders FeedItems to terminal, HTML, or JSON.",
|
|
"mode": "subagent",
|
|
"model": "opencode/kimi-k2.5",
|
|
"temperature": 0.2,
|
|
"prompt": "{file:./.opencode/prompts/formatter.txt}",
|
|
"permission": {
|
|
"edit": {
|
|
"modules/formatter/**": "allow",
|
|
"interfaces/**": "ask",
|
|
"**": "deny"
|
|
},
|
|
"bash": {
|
|
"npx vitest run modules/formatter*": "allow",
|
|
"npx tsc --noEmit": "allow",
|
|
"*": "deny"
|
|
}
|
|
}
|
|
},
|
|
"reviewer": {
|
|
"description": "Reviews code for quality, correctness, and interface compliance. Read-only.",
|
|
"mode": "subagent",
|
|
"model": "opencode/claude-sonnet-4-6",
|
|
"temperature": 0.1,
|
|
"prompt": "{file:./.opencode/prompts/reviewer.txt}",
|
|
"color": "accent",
|
|
"permission": {
|
|
"edit": "deny",
|
|
"bash": {
|
|
"npx tsc --noEmit": "allow",
|
|
"npx vitest run": "allow",
|
|
"git diff *": "allow",
|
|
"*": "deny"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|