2.7 KiB
2.7 KiB
title, type, permalink, tags
| title | type | permalink | tags | ||||
|---|---|---|---|---|---|---|---|
| Memory System Main vs Per-Repo Project Split | note | opencode-config/decisions/memory-system-main-vs-per-repo-project-split |
|
Memory System: Main vs Per-Repo Project Split
Decision
Adopted a strict two-project split for basic-memory:
mainis reserved exclusively for global/shared knowledge (reusable patterns, conventions, tech knowledge, user preferences, cross-project lessons)- Each code repository gets its own dedicated basic-memory project for project-specific knowledge (plans, decisions, research, gates, sessions, architecture)
Observations
- [decision]
mainis global-only; never store project plans/decisions/research/gates/sessions inmain#memory #convention - [decision] Every repo must have a per-repo basic-memory project created via
create_memory_project#memory #convention - [decision] Session-start protocol requires identifying and selecting the per-repo project before any reads/writes #memory #convention
- [decision] All MCP calls must pass the
projectparameter explicitly —project="main"for global,project="<repo-project-name>"for project-specific #memory #convention - [decision] Repo-local
.memory/directories are legacy artifacts, renamed to.memory.legacy/#memory
Affected Files (opencode-config repo)
AGENTS.md— core memory system section rewritten with main/per-repo split, session-start protocol, project setup instructionscommands/init.md— Step 5 creates per-repo basic-memory projectcommands/bootstrap-memory.md— Step 0 ensures per-repo project, all steps pass project parametercommands/save-memory.md— distinguishes main vs per-repo targetscommands/status.md— requires per-repo project identificationcommands/plan.md— per-repo project targeting for plans/decisions/researchcommands/sme.md— split guidance caching between main and per-repocommands/research.md— split project targetingcommands/review.md— per-repo project targetingcommands/test.md— per-repo project targetingcommands/docs.md— per-repo project targetingagents/lead.md— session-start project identification, all note sections updatedagents/sme.md— explicit main vs per-repo caching workflowagents/librarian.md— updated to enforce main/per-repo split in docsagents/reviewer.md— per-repo project recordingagents/tester.md— per-repo project recordingagents/critic.md— per-repo project recordingagents/designer.md— per-repo project recordingskills/git-workflow/SKILL.md— clarified per-repo/main in legacy note
Relations
- related_to opencode-config Knowledge Overview