mirror of
https://github.com/runbear-io/beardrive.git
synced 2026-08-25 08:08:08 +02:00
Replace the old "append conventions to CLAUDE.md" step with a two-file pattern for teaching agents a newly mounted shared folder: - <shared>/AGENTS.md (synced): the team's single source of truth for the folder's structure and conventions — scaffolded once by the project creator, read (never rewritten) by joiners. - A repo-root AGENTS.md/CLAUDE.md pointer (per machine, not synced): the awareness/routing layer. Required because discovery differs by platform — Claude Code and Hermes load nested instruction files lazily (only after entering the folder), and Codex never discovers them at all (root→cwd path only). SKILL.md gains a "Teaching agents the folder" section with the platform discovery table and a first-contact orientation ritual; /beardrive:install step 4 and /beardrive:init step 6 now offer both files as separate consents; install.md step 3 gains the same never-sync-a-repo-root hard rule init.md already had; README/CLAUDE.md descriptions updated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P5cxPQdSGJnjXCYY9GeWXt
82 lines
4.3 KiB
Markdown
82 lines
4.3 KiB
Markdown
---
|
|
description: Start syncing a project in this folder — create a new BearDrive project or connect an existing one, whole folder or a shared subfolder, and start the sync daemon
|
|
argument-hint: "[folder] [--name <project> | --project <p-id>] [--shared <dir>]"
|
|
---
|
|
|
|
Start syncing a project with BearDrive. Arguments: `$ARGUMENTS` (optional
|
|
folder, optional `--name`/`--project`/`--shared`).
|
|
|
|
Follow these steps:
|
|
|
|
1. **Check the bdrive CLI is installed**: run `command -v bdrive`. If
|
|
missing, offer to install it (`brew install runbear-io/tap/beardrive`,
|
|
or `go install github.com/runbear-io/beardrive/cmd/bdrive@latest`) and
|
|
wait for the user's choice before installing.
|
|
|
|
2. **Sign in if needed**: run `bdrive login --status`. With no server or a
|
|
stale token, run `bdrive login` (tell the user a browser window is
|
|
coming; it completes by itself). Default server is beardrive.ai; pass a
|
|
self-hosted URL if the user mentioned one.
|
|
|
|
3. **Detect knowledge tooling** (skip if the folder already contains
|
|
`.bdrive/` — then just run `bdrive init --yes`; it resumes syncing,
|
|
including after a rename/move). Check, in order — first match wins,
|
|
ask if two match (full playbook: the beardrive skill's "Connecting
|
|
knowledge tooling" section):
|
|
|
|
- **gbrain** (`gbrain.yml`, or a gbrain MCP server / brain-first
|
|
CLAUDE.md block) → offer to sync the brain's shared subfolder as its
|
|
own project; never a brain root, and one enrichment owner per shared
|
|
folder (everyone else indexes read-only — see the skill).
|
|
- **OKF wiki** (markdown with OKF frontmatter) → offer: connect the
|
|
wiki dir via `--shared`, or keep it PR-gated and create a new shared
|
|
folder.
|
|
- **Wiki-ish folder** (`docs`/`wiki`/`notes` full of markdown) → check
|
|
`git log -- <dir>`; dormant → recommend connecting it, active PR
|
|
traffic → recommend a new shared folder. Offer an OKF upgrade
|
|
(`openknowledge from`) after connecting, as a separate consent.
|
|
- **Nothing / empty** → offer a starting point in this order:
|
|
OKF (recommended), gbrain, blank, describe-it.
|
|
|
|
4. **Initialize** — two hard rules:
|
|
|
|
- **Never sync a repo root**: inside a repo, knowledge syncs as a
|
|
scoped subfolder via `--shared`. A dedicated knowledge folder
|
|
(empty dir, standalone vault) may be the mount itself.
|
|
- **One transport per folder**: a git-tracked dir must leave git
|
|
tracking before it syncs (`git rm -r --cached <dir>` + gitignore;
|
|
stage it, let the user commit). Offer one-way git snapshots if they
|
|
want a git record; `bdrive log -p <path>` covers history for most.
|
|
|
|
```sh
|
|
bdrive init --name <project> --yes # dedicated knowledge folder
|
|
bdrive init --name <project> --shared wiki # in a repo: only ./wiki syncs
|
|
```
|
|
|
|
5. **Register agent sync hooks**: run `bdrive hooks install <folder>`. It
|
|
detects the agent platforms in use (Claude Code, Codex, Gemini CLI,
|
|
Hermes — by their config dirs in the project or home) and idempotently
|
|
merges beardrive's sync hooks into each platform's own hook config, so
|
|
files pull at every turn start, push after edits, every change is
|
|
stamped with the agent session that made it, and agent file reads feed
|
|
the hub's read heatmap (queued locally by `bdrive read-log`, reported
|
|
on the next sync). Tell the user which platforms got hooks; if Codex is
|
|
among them, mention they must run `/hooks` inside Codex once to trust
|
|
the project's `.codex` layer.
|
|
|
|
6. **Verify**: run `bdrive status <folder>` and confirm the daemon is
|
|
running and pending is 0. Summarize: project name/id, what syncs, and
|
|
that edits propagate to every team member within seconds. Offer the
|
|
two-file agent orientation, each part as its own consent (full flow:
|
|
the skill's "Teaching agents the folder" section): a synced
|
|
`<shared>/AGENTS.md` mapping the folder — draft it if this user is
|
|
creating the project, read and follow it if joining — and, for
|
|
`--shared` mounts inside a repo, a short pointer to it in the repo
|
|
root's `AGENTS.md`/`CLAUDE.md` (the only file Codex loads, and what
|
|
makes any agent aware the folder matters). Then tell the user how
|
|
teammates connect (invite link → `bdrive init` → same `--shared`
|
|
scope, which is per-device).
|
|
|
|
For the full team setup (the AGENTS.md orientation + per-project sync
|
|
hooks in `.claude/settings.json`), suggest `/beardrive:install` instead.
|