--- description: 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 argument-hint: "[project-name] [--shared ]" --- 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@latest` If 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 `, use them. Otherwise ask the user two questions (or infer from their request): - **Create a new project or connect an existing one?** (`bdrive share --list` isn't needed here — `bdrive init --name ` creates-or-joins by name; `bdrive init --project ` connects by id.) - **Sync the whole folder, or only a shared subfolder** (e.g. `./wiki` or `./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.: ```sh bdrive init --name --yes # whole folder bdrive init --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): ```markdown ## 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/` — 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 " session "` — 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 ` and hand them the URL.