You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Thick borg (future): an app per common migration story #856
Future plan. Slim borg checks each primitive once. Thick borg is a decent-sized app per common migration story, run through the same kind of suite on each target. Each app is also the example for its story.
Split the stories by three separate choices (where the code runs, which engine, who hosts the data) and write one adapter per choice, never one per combination.
Stories, most common first:
Keep the database, move the code: a Node or Next app on Postgres (Neon) moved to a Worker through Hyperdrive, and to a Hetzner box. Needs a postgres binding: Hyperdrive on the edge, a direct connection on a box, PGlite as the desktop twin, and a Neon branch per test stack.
Leave a PaaS for a box: Railway or Heroku to Hetzner, with sqlite or Postgres on the volume
Go all-edge: Postgres to D1, with a lint that flags what D1 won't run (BEGIN, ATTACH, too many bound parameters)
Lambda + DynamoDB to Workers + KV / Durable Objects
Mongo: probably "keep Atlas, move the code". Check whether FerretDB works as a twin.
Better Auth on all three targets: a secret minted per install on desktop, and login handled by the edge with the session handed to the desktop
One sync engine (Yjs in a Durable Object, or Replicache / LiveStore on D1)
Alchemy beta.77 already has Neon, PlanetScale, Hyperdrive, AWS, Fly, Docker and Kubernetes. It has no DigitalOcean, Mongo or Supabase.
Free where possible: Cloudflare and Neon free tiers. PlanetScale and the boxes cost cents per run, so run them rarely.
Provider swaps (the "who hosts the data" choice) are tracked in notes/PROVIDERS.md, added in #1068: a keep and a swap adapter per provider, Supabase first, with Firebase, Neon, PlanetScale and Clerk as candidates.
Activity
notes: providers are the borg's next axis, Supabase first
QuinnsCode commentedon Oct 12, 2026
Provider swaps (the "who hosts the data" choice) are tracked in notes/PROVIDERS.md, added in #1068: a keep and a swap adapter per provider, Supabase first, with Firebase, Neon, PlanetScale and Clerk as candidates.
borg: absorb provider swaps past frameworks, Supabase first (#1068)
Thick borg story 1: borg-postgres, keep the database and move the code (