Files
basicmachines-co-basic-memory/plugins/claude-code/settings.example.json
T
phernandez 36c245f0d2 feat(plugins): team workspace support + /basic-memory:share (v0.4 Phase 4)
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>
2026-05-31 12:31:08 -05:00

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"
}