You ship. Beacon drafts the tweet.
Beacon watches your commits — scans them for secrets, scores what's worth telling, and drafts build-in-public posts for every platform you're on. Local, private, and never posted without you.
npm install -g beacon-bip$ git commit -m "feat: add offline sync for drafts" [main 4f2c9a1] feat: add offline sync for drafts 3 files changed, 87 insertions(+), 12 deletions(-) ✦ beacon · post-commit ✓ safety scan passed — no secrets found ✓ significance: 8/10 (threshold 6) ✓ drafting for twitter, linkedin, dev.to… 3 drafts queued → run beacon review or beacon ui
Every commit, five stages.
The post-commit hook reads your diff, message, and file stats into a typed snapshot. Diffs are truncated at ~8k chars to keep costs down.
A regex-only secret scanner runs before any LLM call. Critical findings block drafting entirely; warnings are redacted from what the model sees.
An LLM scores the commit 0–10 on the redacted diff. Typo fixes and dep bumps below your threshold (default 6) are skipped. No noise.
One LLM call writes a draft for every enabled platform — in your voice, your language, adapted to each platform's shape.
Drafts land atomically in ~/.beacon/queue.json, capped at 50. Nothing goes anywhere until you review.
Nothing leaves your machine without you.
Beacon never posts. It can't — it has no credentials for your social accounts. Approving a draft copies it to your clipboard, and that's the whole exit path.
- approve → clipboard, never an API call
- edit → your $EDITOR, or inline in the browser
- discard or skip → the queue is yours
✦ beacon review — 3 drafts in queue draft 1/3 · significance 8/10 ──────────────────────────────────── ▸ twitter/x linkedin dev.to Shipped offline sync for Rocket Editor. Your drafts now survive a dead wifi connection — and so does your flow. 87 lines, mostly worth it. [a] approve → clipboard [e] edit in $EDITOR [d] discard [s] skip
Or review it in the browser.
One command opens the same queue as a web app — every platform's draft side by side, edited inline. Commit in another terminal and the draft appears in the open tab, live.
- one queue → approve in the terminal or the browser
- 127.0.0.1 only → token-locked, never on the network
- Ctrl-C → and it's gone
Built for people who'd rather be coding.
Secret scanner
API keys, JWTs, DB strings, .env assignments, private IPs — caught by regex before any model call. A leaked key blocks drafting for that commit, full stop.
Significance filter
Not every commit is a post. Each one is scored 0–10; anything under your threshold is quietly skipped. Your followers never see "fix typo".
Your voice & language
Your name, bio, and voice notes shape every draft — in any language you configure. It reads like you wrote it, because you told it how you write.
Digest mode
beacon draft --week turns a week of commits into one "here's what I shipped" post. Also --today and --since "3 days ago".
Five platforms, one prompt
Twitter/X, LinkedIn, and dev.to on by default; Reddit and Medium a toggle away. Each gets its own draft, adapted from a single pass.
Fully offline with Ollama
Point Beacon at a local model and your diff never leaves your machine at all. No key, no cost, no network. Anthropic and OpenAI-compatible APIs also supported.
Fair questions.
Does it post automatically?
Never. Approving a draft copies it to your clipboard. Beacon has no access to your social accounts — there are no posting credentials anywhere in the tool.
Is my code sent anywhere?
Only a secret-redacted, truncated diff goes to your chosen LLM provider — or nowhere at all if you use Ollama. No cloud, no database, no sync: just two JSON files under ~/.beacon/. The one server Beacon runs is beacon ui — on 127.0.0.1, on your own machine.
What if I commit a secret?
The scanner catches it before any LLM call and blocks drafting for that commit entirely. The model never sees your raw diff — critical findings never reach it in any form.
Does it spam a draft for every commit?
No — commits scoring below the significance threshold (default 6/10) are skipped. Typo fixes, dep bumps, and routine refactors never make it to the queue.
What does it cost?
Beacon is free and MIT-licensed. You pay only your own LLM usage — or nothing at all with Ollama.
What do I need to run it?
Node ≥ 20 and git. That's it. Install globally with npm, run beacon init, and your next commit gets drafted.