opencode config
* refactor(pipeline): add subagent_type and template to NEXT actions
NEXT_ACTIONS now explicitly specifies subagent_type + template per phase (except MERGE which calls merge_pr tool). ISSUE/IMPLEMENT -> general/A, DOCS -> docs-reviewer/B, REVIEW -> reviewer/C, MEMORY -> memory-syncer/E. Existing tests updated to new format, 25 new tests added.
* refactor(docs): slim AGENTS.md and run-pipeline skill
AGENTS.md 71 -> 31 lines: remove Commits/Pull Requests sections (formats in tools), shorten Development Workflow/Pipeline to 1-2 lines. run-pipeline SKILL.md 164 -> 155 lines: remove Phase 0 Bootstrap (duplicated phases, now in pipeline-status NEXT_ACTIONS). Keep protocol, templates, restrictions.
* chore(skills): remove commit skill (format in tool validator)
commit/SKILL.md deleted (format validated by commit.ts tool, PR#38). References updated: configure-opencode SKILL.md (2 places), add-skill SKILL.md (1 place + tree structure). project-map README: remove commit/SKILL.md from tree, add configure-opencode.
* docs(handoff): add ADR-017 and handoff for orchestration switch
PR number in handoff frontmatter is <PR-NUMBER> placeholder, will be set after gh pr create.
* docs(handoff): set PR number
Set PR number 42 in handoff frontmatter, rename handoff/ADR files from pr-41 to pr-42 (pipeline-status matches pr-{pr_number}-*.md in diff).
* docs: update project map + handoff + ADR
---------
Co-authored-by: opencode-agent <agent@slaid098.dev>
|
||
|---|---|---|
| .github | ||
| .opencode | ||
| app_data | ||
| docs | ||
| src/memory | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| AGENTS.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
opencode-config
Docker-based AI coding assistant with persistent memory — opencode configuration.
Quick start
Docker
git clone https://github.com/slaid098/opencode-config.git
cd opencode-config
mkdir -p app_data/{workspaces,ssh}
cp .env.example .env # fill in your keys
docker compose up -d
Access at http://localhost:4096.
Bare (without Docker)
git clone https://github.com/slaid098/opencode-config.git
cd opencode-config
opencode # .opencode/ auto-discovered
Structure
AGENTS.md— global orchestrator rules (main agent = plan only, all via subagents).opencode/— project-local config (auto-discovered, zero env var)agents/— subagent definitions (docs-reviewer, memory-syncer, reviewer)commands/— slash commands (run-pipeline, spec, configure-opencode)skills/— skill definitions (14 skills)tools/— custom tools (pipeline-status, spec-status, merge-pr)scripts/— Python scripts (pipeline-status, spec-status, check-adr-refs, etc.)opencode.json— main config (providers, MCP servers, permissions)
app_data/workspaces/— agent working directoryapp_data/ssh/— SSH keys (not in git)app_data/opencode-memory/— persistent memory (separate git repo)src/— Python RAG CLI (second-brain)docs/— handoffs, decisions (ADRs), project map.github/workflows/— CI workflows (ubuntu-latest)
Configuration
Copy .env.example to .env and fill in:
| Variable | Description |
|---|---|
AI_PROVIDER_BASE_URL |
AI provider API URL |
AI_PROVIDER_API_KEY |
AI provider API key |
OPENCODE_SERVER_PASSWORD |
opencode server password |
GITHUB_TOKEN |
GitHub personal access token |
CONTEXT7_API_KEY |
Context7 MCP API key |
ANTIDETECT_BROWSER_MCP_URL |
Antidetect browser MCP URL (optional) |
Memory setup
Memory uses @mathew-cf/opencode-memory plugin (hybrid search: ripgrep + local RAG).
OPENCODE_MEMORY_DIRenv var points to memory directory (default:app_data/opencode-memory/)OPENCODE_MEMORY_REMOTEmust point at your git remote — fork the upstreamslaid098/opencode-memoryrepo and set the URL in.env- Run
.opencode/scripts/setup-memory.shto initialize memory repo
License
MIT — see LICENSE