mirror of
https://github.com/basicmachines-co/basic-memory
synced 2026-06-21 13:47:35 +00:00
36c245f0d2
Implements DESIGN.md Phase 4, grounded in a real two-workspace BM Cloud account. Recall reads across the team: - hooks/session-start.sh rewritten to read the primary project (active tasks + open decisions) AND each configured shared/team project (open decisions) in parallel via ThreadPoolExecutor. Routes by workspace-qualified name or external_id UUID (project names collide across workspaces, so bare names won't route); per-call timeout, capped at 6 shared projects, graceful on any failure. Adds a "From shared projects (read-only)" section + the share-vs-capture note. Verified against the real my-team-2 workspace (OAuth routing) and local fixtures. Deliberate team writes: - skills/share/SKILL.md → /basic-memory:share <note>: copies a note from the primary project into a configured teamProjects target's promoteFolder, with shared_from attribution and a confirmation step. Preserves the note's type so shared decisions stay findable in the team's structured recall. Pulled forward from future-work since team usage needs a safe write path. Safe by default: capture (PreCompact checkpoints, /remember) NEVER writes to a shared project. The proposed teamProjects.autoWrite flag is deliberately not shipped — documented as future rather than ship an unenforced flag. Config: secondaryProjects (read sources) + teamProjects (share targets with promoteFolder), both requiring qualified names/UUIDs. setup interview step 3 now configures them via list_workspaces; status reports team read-sources + share targets; settings.example.json documents the shape. REQUIRED_SKILLS adds share. Discovery verified: Skills (4): remember, setup, share, status. Passes `just package-check-claude-code` incl. `claude plugin validate . --strict`. Updated README (Teams section), CHANGELOG, and DESIGN §6 + Phase 4 status. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: phernandez <paul@basicmachines.co>
19 lines
1.2 KiB
JSON
19 lines
1.2 KiB
JSON
{
|
|
"$comment": "Example Basic Memory plugin settings. Copy the basicMemory block (and optionally outputStyle) into your project's .claude/settings.json, then set primaryProject. The easiest way to fill this in is /basic-memory:setup. Team projects (secondaryProjects, teamProjects) must use workspace-qualified names like 'my-team/notes' or external_id UUIDs — bare names are ambiguous across workspaces. See DESIGN.md for the full schema.",
|
|
"basicMemory": {
|
|
"primaryProject": "my-project",
|
|
"secondaryProjects": ["my-team/main", "my-team/notes"],
|
|
"captureFolder": "sessions",
|
|
"rememberFolder": "bm-remember",
|
|
"recallTimeframe": "3d",
|
|
"recallPrompt": "You have Basic Memory available for this project. Before answering recall questions (\"what did we decide\", \"where did we leave off\"), search the graph first — prefer structured filters (search_notes with type/status). When the user makes a material decision, capture it as a note with type: decision. Cite permalinks when referencing prior work.",
|
|
"captureChattyness": "light",
|
|
"preCompactCapture": "extractive",
|
|
"placementConventions": null,
|
|
"teamProjects": {
|
|
"my-team/notes": { "promoteFolder": "shared" }
|
|
}
|
|
},
|
|
"outputStyle": "basic-memory"
|
|
}
|