Files
dotfiles/.config/opencode/.github/copilot-instructions.md
alex e9074646b7 feat: adopt symlink approach for cross-tool instruction files
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
2026-03-08 23:48:42 +00:00

52 lines
2.6 KiB
Markdown

# OpenCode Agent Configuration
This repository contains the multi-agent configuration for OpenCode, defining agent roles, permissions, quality pipelines, and project memory conventions.
## Project Structure
```
opencode.jsonc # Main config: default agent, plugins, permissions, MCP servers
agents/ # Agent definitions (one .md per agent)
lead.md # Primary orchestrator
coder.md # Implementation agent
reviewer.md # Code review (read-only code, writes .memory/*)
tester.md # Test validation (writes .memory/*)
explorer.md # Codebase mapping (read-only code, writes .memory/*)
researcher.md # Technical investigation (writes .memory/*)
librarian.md # Documentation specialist (full edit)
critic.md # Plan review gate (writes .memory/*)
sme.md # Domain expert (writes .memory/*)
designer.md # UI/UX guidance (writes .memory/*)
.memory/ # Persistent project memory (knowledge, decisions, plans, research)
AGENTS.md # Global OpenCode config (not a symlink in this repo)
CLAUDE.md -> .github/copilot-instructions.md
.cursorrules -> .github/copilot-instructions.md
```
## Agent Permission Model
- **Full edit access:** `lead`, `coder`, `librarian`.
- **Memory-only edit access:** `reviewer`, `tester`, `explorer`, `researcher`, `critic`, `sme`, `designer``permission.edit: allow` in config, but instructions restrict edits to `.memory/*` only. Code/source edits remain read-only.
- OpenCode does not support path-scoped `permission.edit`, so guardrails are instruction-level.
## Memory System
`.memory/` is the persistent project knowledge store:
- `knowledge.md` — architecture, patterns, key concepts
- `decisions.md` — architecture decisions, design choices
- `plans/<feature>.md` — active plans with tasks and statuses
- `research/<topic>.md` — research findings
Workflow: read relevant `.memory/` files → work → update `.memory/` files with outcomes.
## Quality Pipeline
Standard flow: `explorer/researcher → coder → reviewer → tester → librarian`.
Three tiers based on change scope (Tier 1: full, Tier 2: standard, Tier 3: fast).
## Conventions
- This repo uses symlinks for cross-tool instruction files: `CLAUDE.md` and `.cursorrules` point to this file.
- `.memory/knowledge.md` is the canonical source of truth for deep project knowledge.
- Recording discipline: record only outcomes/decisions/discoveries in `.memory/`, never ceremony checkpoints.