QuotaProvider grows a read half: CheckRead(org, bytes) and RecordEgress(org, bytes). CheckRead is enforced on /s/* only — a public share link is the sole unauthenticated door to stored bytes, so it is the only egress a plan can cap. The sync proxy and viewer merely RecordEgress: refusing a device mid-cycle surfaces as ErrForbidden, which the syncer reads as "access is gone — pause and touch nothing", and sync must never break over a bill. UnlimitedQuota stays the OSS default. countingWriter bills what actually reached the client rather than a size claimed before the write. bdrive init warns past 1 GiB or 20k files and says how to narrow scope; syncer.Measure sizes that through the real Filter and the one walkFolder predicate. starterIgnore gains video/archive/disk-image globs and Library/ — every version is kept forever, so a big binary committed once is paid for forever on every device. deploy: a Nearline-at-30-days lifecycle rule and the arithmetic for why it stops there. Coldline and Archive only pay off below roughly one read per month, and a first sync pulls every historical blob rather than just the current tree, so blob read rate tracks device onboarding. docs/launch-plan.md said Cloud was waitlist-only and framed Product Hunt as an OSS launch whose goal was not signups or revenue; both are stale. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
4.2 KiB
GTM handoff — actions only Snow can take
Everything the GTM loop cannot do from inside the repo, prioritized. Draft copy is ready to paste; adjust voice as you like.
P0 — do before anything else (minutes each)
-
Enable GitHub Discussions on runbear-io/beardrive (Settings → Features). Then add categories: Announcements, Q&A, Ideas, Show & tell. CONTRIBUTING.md already links "where to ask" there.
-
Set GitHub repo topics:
ai-agents,claude-code,file-sync,sync,agent-memory,self-hosted,golang,agpl. (Repo → About → gear.) -
Set the repo social-preview image (Settings → Social preview): use
docs/assets/insights.pngfor now — it's the most striking frame; replace with a branded card later. -
Repo About blurb → paste:
The open-source Google Drive for AI agents: one folder your team and their agents share — synced in seconds, every change attributed, with read analytics. Self-host in one Go binary. Website field:
https://beardrive.ai. -
Verify the install path from a clean machine (the #1 CTA must not 404 on launch day):
brew install runbear-io/tap/beardrive && bdrive version, andgo install github.com/runbear-io/beardrive/cmd/bdrive@latest. If the tap is stale, cut a freshgoreleaser releasefirst. -
Verify the full first run, not just the binary: on a clean machine,
bdrive login <a working hub> && bdrive init && edit a file && bdrive logmust succeed end to end. Until BearDrive Cloud is live, every try-path (README, website, launch posts) must route people to self-hosting — barebdrive logindefaults to beardrive.ai and MUST NOT be advertised until that hub actually accepts logins. Gate any launch on this check. -
Seed 3–5
good first issue/help wantedissues from ROADMAP.md (more agent platforms inbdrive hooks install; per-path access scopes design discussion; demo assets; docs gaps) — CONTRIBUTING.md promises curated starter issues; make it true.
P1 — demo assets (an hour)
- Record a 45–60s demo GIF/video for the README hero and any
launch post. Script (uses two terminals + a browser):
- T1:
bdrive init --name demo --yesin a folder with a few notes → showbdrive status(daemon running). - T1: have Claude Code write
wiki/findings.md(or just edit it) → within seconds… - T2 (second machine/dir): the file appears;
bdrive log -n 3shows the change attributed to the agent session. - Browser: the hub's History view for that file, then Insights.
- T1:
bdrive share wiki/findings.md→ open the public URL. Tools:vhs(charmbracelet) or QuickTime + gifski. Put the result atdocs/assets/demo.gifand add it above the fold in README.
- T1:
- Verify beardrive.ai serves the updated landing page (now
cloud/web/landing/, served by the hub itself at/for signed-out visitors) after the next deploy.
P2 — when you're ready to be seen (launch window)
- Show HN post — full drafts in launch-plan.md: title, body, and the first-comment founder note. Post from your account; be present for the first 3 hours to answer everything.
- Product Hunt — drafts in launch-plan.md. Schedule after HN, not
the same day. This one launches BearDrive Cloud, which is live with
open signup and a public
/pricingpage; there is no waitlist and no mailto form anywhere, so nothing needs replacing before PH. - Agent onboarding discoverability — announce the paste-prompt
onboarding (
INSTALL_FOR_AGENTS.md) wherever agent users gather. There is no Claude Code plugin or marketplace entry to submit — the integration isinternal/agenthooksplus that runbook.
P3 — measurement plumbing (see metrics.md)
- Turn on GitHub traffic watching: stars/clones/views are under Insights → Traffic; consider a weekly note of the numbers in Discussions → Announcements.
- Homebrew install counts:
brew info --analytics runbear-io/tap/beardrive(public analytics take ~30 days to appear). - Decide on hub-side opt-in telemetry (proposal in metrics.md — requires your explicit approval before any implementation; nothing is wired today).