# Conventions ## File Organization ``` ~/.config/opencode/ ├── opencode.jsonc # Main config (default agent, plugins, permissions) ├── AGENTS.md # Cross-tool instructions (single source of truth) ├── CLAUDE.md -> AGENTS.md # Symlink for Claude ├── .cursorrules -> AGENTS.md # Symlink for Cursor ├── agents/ # Agent definitions │ ├── lead.md │ ├── coder.md │ ├── reviewer.md │ └── ... ├── skills/ # Reusable skill modules │ └── doc-coverage/ └── .memory/ # Persistent memory ``` ## Naming Conventions - Agent files: `{role}.md` (e.g., `coder.md`, `reviewer.md`) - Plan files: `{feature}.md` (e.g., `memory-restructure.md`) - Research files: `{topic}.md` (e.g., `micode-memory-system.md`) - Gate files: `{feature}.md` (e.g., `auth-flow.md`) ## Memory Structure See [Memory Structure](../manifest.yaml) for the canonical structure. ## Cross-Tool Instructions - `AGENTS.md` is the single source of truth - All other instruction files are symlinks to it - Never edit symlinked files directly