mirror of
https://github.com/runbear-io/beardrive.git
synced 2026-08-25 08:08:08 +02:00
The ⌘K palette searches file names, projects and actions; nothing in the product searched file contents. Three personas independently typed a phrase that lives inside a synced file and got "No matches". `bdrive grep <pattern> [folder]` searches the working folder — RE2 or -F literal, -i, -l, -n (default 200, 0 = all), output `path:line: text`, exit 0 on match and 1 on none. It searches exactly what the project syncs, via a new syncer.SyncedFiles that wraps the existing walkFolder: the one copy of the sync predicate, so an ignore rule or a narrowed scope excludes a file from search the same way it excludes it from sync, and .bdrive/ state can never surface. Not Explain, which countFiles every pruned dir — a grep in a repo with node_modules/ would walk it in full for a count it discards. A read stays a read: LoadProject, not ResolveMount (no registry self-heal, no device enrollment), no session, no flock, and the volume store is opened for IgnoreAccepted only when it already exists, so a search creates nothing. Both the path and the matched line go through safeField — a matched line is a teammate's file content, the widest version of the surface that function exists for. The hub-side content index stays deliberately unbuilt; the issue records its cost. ROADMAP's "Search across the hub" line is reworded rather than removed. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.8 KiB
1.8 KiB
BearDrive roadmap
Last updated: 2026-07-15. This is the direction, not a contract — items move as we learn. Comments and PRs welcome; items marked help wanted are deliberately scoped for outside contributors.
Now (next release or two)
- Time travel / restore —
bdrive restore <path>@<time>: every blob is already retained forever, so restore is re-putting an old blob as a new op. The history UI and blob API already exist; this is the CLI and revert UX. - Demo assets & docs — 60-second demo, richer self-hosting guide.
Next
- Journal compaction & blob GC policies — bounded storage for long-lived, high-churn volumes (opt-in; today everything is retained).
- Per-path access scopes — multi-agent setups where an agent can be limited to a subtree of a project. help wanted (design discussion first — this touches the org/permission model).
- More agent platforms in
bdrive hooks install— the hook engine is platform-generic; adding a platform is a small adapter + matcher set. help wanted.
Later / exploring
- FUSE / NFS mount mode — lazy-loading huge volumes instead of full materialization.
- Search across the hub — full-text + wikilink graph over a project, in the
browser and across projects. Searching contents already works locally today
(
bdrive grep, over the files a project syncs); what is still exploring is doing it hub-side, which needs a content index the storage layer has no home for yet. - Webhooks / notifications — "a file changed in
reports/" pushed to Slack or similar (hub-side).
Recently shipped
See CHANGELOG.md: React web UI (v0.6.0), read-heat
Insights and agent read attribution (v0.4.0), bdrive url internal links
(v0.7.0), SQL metadata backends incl. Postgres/Supabase (v0.3.0).