Commit Graph

2 Commits

Author SHA1 Message Date
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
phernandez 215a2d9f99 feat(plugins): add /basic-memory:remember and :status skills (v0.4 Phase 2)
Adds the two deliberate-gesture skills from DESIGN.md Phase 2, both as prose
skills (skills are prompts) — robust to arbitrary user text and any MCP server
tool-name prefix, no bundled-script path placeholders.

- skills/remember/SKILL.md → /basic-memory:remember <text>: quick capture to the
  rememberFolder (default bm-remember) with a first-line title and manual-capture
  tag, via write_note. Model-invocable so "remember that…" triggers it.
- skills/status/SKILL.md → /basic-memory:status: user-only diagnostic
  (disable-model-invocation) reporting active project, capture/remember folders,
  output-style state, recent session checkpoints, and active-task count.

validate_claude_plugin.py now requires the shipped skill set (REQUIRED_SKILLS)
and validates each skill's name/description frontmatter. Passes
`just package-check-claude-code` incl. `claude plugin validate . --strict`.

Discovery verified end-to-end: installed from a local marketplace and confirmed
via `claude plugin details` — Skills (2): remember, status; Hooks (2):
SessionStart, PreCompact; Agents (0) — namespaced as /basic-memory:<name>.

Updated README (Commands table), CHANGELOG, and DESIGN Phase 2 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