Admin/org-owner Insights view (⋯ menu): dependency-free SVG scatter of every file by 30-day reads × days since last change, log scales, with the hot-but-stale danger quadrant shaded and a ranked fix-these-first list; lens toggle for all/human/agent reads. The Claude Code plugin gains a PostToolUse(Read) hook so plugin users feed agent-read telemetry without project-level hook registration. Docs synced: README, SKILL.md, plugin install/init commands, CLAUDE.md, design doc marked implemented. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P5cxPQdSGJnjXCYY9GeWXt
4.6 KiB
description, argument-hint
| description | argument-hint |
|---|---|
| Set up BearDrive for this project — install the CLI, sign in, create/connect a project, optionally document the shared folder in CLAUDE.md, and register project-level sync hooks so every teammate's files stay fresh during Claude sessions | [project-name] [--shared <dir>] |
Set up BearDrive for the current project, end to end. Work through these steps in order, telling the user what you're doing at each one.
1. Ensure the bdrive binary exists
Run command -v bdrive. If missing, install it:
- macOS/Linuxbrew:
brew install runbear-io/tap/beardrive - otherwise:
go install github.com/runbear-io/beardrive/cmd/bdrive@latestIf neither works, stop and tell the user how to install manually.
2. Sign in if needed
Run bdrive login --status. If there is no server or the token is invalid,
run bdrive login — it opens the user's browser to sign in (or sign up) and
completes by itself. Default server is beardrive.ai; if the user mentioned a
self-hosted server, pass its URL: bdrive login https://their-server.
Tell the user a browser window is coming before you run it.
3. Initialize the project
If $ARGUMENTS gives a project name and/or --shared <dir>, use them.
Otherwise ask the user two questions (or infer from their request):
- Create a new project or connect an existing one? (
bdrive share --listisn't needed here —bdrive init --name <name>creates-or-joins by name;bdrive init --project <p-id>connects by id.) - Sync the whole folder, or only a shared subfolder (e.g.
./wikior./shared)? A shared subfolder is right when only part of the repo — a company wiki, a deliverables folder — should be shared across the team.
Then run it non-interactively, e.g.:
bdrive init --name <project-name> --yes # whole folder
bdrive init --name <project-name> --shared wiki # only ./wiki syncs
Re-running bdrive init --yes later is always safe: it resumes syncing
(including after the folder was renamed or moved).
4. Offer to update CLAUDE.md (ask first — never do this silently)
Ask: "Want me to add a section to CLAUDE.md so agents know about the shared folder?" If yes, append a section shaped like this (adapt folder name and wording to the project; create CLAUDE.md if missing):
## Shared folder (BearDrive)
`wiki/` is the company wiki, synced across all team members and agents via
BearDrive. Anything saved there propagates to everyone within seconds, and
every change is tracked (who, when, from which device).
- Put shareable artifacts — generated HTML/PDF/markdown reports, notes,
plans — in `wiki/` so the team can see them.
- To hand someone a public link to a file: `bdrive share wiki/<file>` —
prints a URL anyone can open (rendered, no account needed).
- Do not put secrets in `wiki/`; share links are public to whoever has
the URL.
5. Register agent sync hooks
Run bdrive hooks install in the project. It detects the agent platforms
in use — Claude Code (.claude/), Codex (.codex/), Gemini CLI
(.gemini/), Hermes (~/.hermes/) — and idempotently merges beardrive's
sync hooks into each platform's own hook config, preserving any hooks
already there. Project-level files (.claude/settings.json,
.codex/hooks.json, .gemini/settings.json) ride the repo, so every
teammate gets them — plugin or not, whatever agent they use; Hermes hooks
are per-user (~/.hermes/config.yaml).
The registered hooks pull before every turn (the agent always reads the
team's latest files), push right after edits (artifacts land on the server
seconds after they're created — daemon or no daemon), and stamp every
change with the agent session that made it (bdrive sync --note "<agent> session <id>" — visible in bdrive log and the hub's history views).
A third hook on each platform's read tool (bdrive read-log) queues which
files the agent read, so the hub's read heatmap can show admins what the
team's agents actually consume — reads are reported on the next sync,
never from the hook itself. They are fast no-ops in folders without
.bdrive/.
Tell the user which platforms got hooks (bdrive hooks shows the status
table). If Codex is among them, mention they must run /hooks inside
Codex once to trust the project's .codex layer. To register a platform
that wasn't detected: bdrive hooks install --agent claude,codex,gemini,hermes.
6. Verify and summarize
Run bdrive status and confirm the daemon is running and pending is 0.
Then tell the user what was set up, and demonstrate the payoff: if they
have (or you just generated) an HTML/PDF/markdown artifact in the synced
folder, run bdrive share <file> and hand them the URL.