Replace 4 separate instruction files with 1 real file + symlinks: - .github/copilot-instructions.md is the canonical instruction file - CLAUDE.md and .cursorrules are symlinks to it - AGENTS.md stays as global config (not a project instruction file) This eliminates all sync/merge logic - changes propagate automatically. Changes: - AGENTS.md: rewrite Cross-Tool Instruction Files section for symlink convention - librarian.md: simplify to maintain single instruction file + verify symlinks - lead.md: simplify PHASE-WRAP and Documentation Completion Gate - commands (init, bootstrap-memory, save-memory): update for symlink model - doc-coverage skill: verify symlinks exist and point correctly
3.1 KiB
3.1 KiB
Project Overview
This is the OpenCode agentic configuration for a multi-agent coding workflow. It defines agent roles, permissions, quality pipelines, and project memory conventions used across all projects that load this config.
- Config root:
~/.config/opencode/ - Config file:
opencode.jsonc— defines default agent, plugins, global permissions, and MCP servers. - Agent definitions:
agents/*.md— one file per agent with YAML frontmatter (model, permissions, temperature) and markdown instructions. - Memory system:
.memory/— persistent project knowledge, decisions, plans, and research in markdown. - Cross-tool instruction files:
.github/copilot-instructions.mdis the single real instruction file;AGENTS.md,CLAUDE.md, and.cursorrulesshould be symlinks to it.
Agent Architecture
10 agents with distinct roles, models, and permission profiles. See Agent Roster in AGENTS.md for the full table.
Permission Model
- Full edit access:
lead,coder,librarian. - Memory-only edit access:
reviewer,tester,explorer,researcher,critic,sme,designer— these agents havepermission.edit: allowbut are instructed to keep code/source edits read-only. Their edit permission exists solely to support.memory/*writes for recording duties (verdicts, discoveries, research, guidance, design decisions). - No edit access: none (all agents can write
.memory/*).
See Decision: Agent Memory Write Access for rationale and guardrails.
Memory Write Guardrails
Agents with memory-only edit access are constrained by instruction-level guardrails (not path-scoped config, which OpenCode does not support):
- Each agent's instructions explicitly state: "
.memory/*writes are allowed for [specific duty]; code/source edits remain read-only." - Each agent's instructions list tool restrictions (e.g., "Disallowed: non-memory file edits").
- The
permission.edit: allowfallback is necessary because OpenCode'spermission.editdoes not support path-scoped allow/deny syntax.
Quality Pipeline
Tiered pipeline (Tier 1/2/3) defined in agents/lead.md. Standard flow: explorer/researcher → coder → reviewer → tester → librarian.
Documentation Skill Conventions
skills/doc-coverage/SKILL.mdsection### 3. Instruction Filevalidates one canonical instruction file (.github/copilot-instructions.md) plus symlink correctness forAGENTS.md,CLAUDE.md, and.cursorrules, rather than treating all four as independently edited files.- The checklist explicitly flags duplication of
.memory/tracking content (plans/research) inside instruction files as an anti-pattern.
See Cross-Tool Instruction Files and Doc coverage checklist section 3.
MCP Servers
- Context7: Remote documentation lookup (
https://mcp.context7.com/mcp) - GitHub Grep: Remote code search across public repos (
https://mcp.grep.app) - Playwright: Local headless Chromium for UI testing