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>
43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# 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](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).
|