Show HN: Dropbox For –/[Code]

dantelex1 pts0 comments

GitHub - treadiehq/boot: Dropbox for ~/[code] · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

Uh oh!

There was an error while loading. Please reload this page.

treadiehq

boot

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>11 Commits<br>11 Commits

.github/workflows

.github/workflows

docs

docs

scripts

scripts

src

src

.gitattributes

.gitattributes

.gitignore

.gitignore

LICENSE

LICENSE

README.md

README.md

package.json

package.json

pnpm-lock.yaml

pnpm-lock.yaml

tsconfig.json

tsconfig.json

View all files

Repository files navigation

Boot

Dropbox for ~/[code] — it syncs the map of your workspace, not the files.

You have a folder full of git repos. boot remembers its shape, which repos live<br>where, and recreates it on any other machine. Repos arrive as tiny<br>placeholders and turn into real clones the moment you open them, so a new<br>laptop (or cloud agent) is ready in seconds, not gigabytes.

It also syncs your env vars (encrypted) and runs a small background daemon<br>so no machine ever builds on a stale main.

Two promises, really:

Never build on a stale base. The daemon keeps every machine current and<br>fast-forwards clean repos, so you stop wasting time on "wait, why did it build<br>the old main?"

A fresh box or cloud agent has your exact workspace in seconds. One command<br>and your whole layout is there, repos hydrate the moment you touch them.

boot doesn't replace Git or live-sync your edits. It syncs structure and<br>secrets, not a real-time copy of your files.

Install

macOS / Linux (needs curl):

curl -fsSL https://raw.githubusercontent.com/treadiehq/boot/main/scripts/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/treadiehq/boot/main/scripts/install.ps1 | iex

Installs a standalone binary (macOS/Linux on x64+arm64, Windows on x64). Git is<br>required for boot's repo syncing. Update anytime with boot update.

Use it

Once, ever: create an empty private git repo to hold the map. boot clones<br>this remote, it won't create it for you. So make one first on any host and<br>leave it empty (your first sync seeds it). A name like code-map works well.

Then one command sets up each machine. It links the workspace, creates a secret<br>key, installs the shell hook and background daemon, and prints a health check:

boot setup git@github.com:me/code-map.git ~/code

Run the same command on your next machine and your whole layout shows up as<br>placeholders that hydrate when you touch them. It's safe to re-run anytime.

You don't have to remember to sync. The background daemon that setup installs<br>pulls and pushes the map for you (every 60s by default), so a repo you add on<br>one machine shows up on the others on its own. boot push / boot pull are just<br>on-demand escape hatches. Most days you never run them.

Handy commands

Command<br>What it does

boot setup [path]<br>Set up (or update) a machine in one shot.

boot push<br>Manually publish this machine's layout (the daemon already does this).

boot pull<br>Manually pull the latest layout (the daemon already does this); --dry-run to preview.

boot cd<br>Fuzzy-jump to any repo in your map, hydrating it on the way (use the bcd shell function).

boot hydrate<br>Turn a placeholder into a real clone.

boot env key share / receive<br>Move your encrypted secrets to a new machine with a passphrase.

boot agent [path]<br>One-shot bootstrap for CI / cloud agents.

boot update<br>Update boot itself to the latest version.

boot doctor --system<br>Check how a machine is wired up (link, key, hook, daemon, FUSE).

Env-var sync, the Dropbox-folder transport, FUSE mounts, and the full command<br>reference live in docs/detailed.md .

Dev

# run from source<br>pnpm build # bundle (dist/index.js, needs Node to run)<br>pnpm test # tests<br>pnpm demo # narrated, offline two-machine walkthrough (great for showing off)<br>pnpm build:binary # standalone binaries for all platforms (needs Bun) → dist/release/">pnpm dev cmd> # run from source<br>pnpm build # bundle (dist/index.js, needs Node to run)<br>pnpm test...

boot machine pnpm code daemon github

Related Articles