Everything you build on Hatchable is real source code, and code you own should be able to go wherever you want it. Every project can now move: out to GitHub, back from GitHub, in from a zip, out as a zip. Here’s the tour.
Push a project to GitHub
Open a project’s Code tab and connect the Hatchable GitHub App. You choose exactly which repositories it can touch, and Hatchable never holds a key to anything you didn’t grant. Pick where the project should go, push, and it’s on GitHub.
By default the push includes your full version history: every deploy you’ve ever made, as real commits, so git log reads like the story of your app. Prefer a clean slate? Untick the box and push a single snapshot. Either way you can push updates again whenever you like, and Hatchable never force-pushes over work in your repo.
Pull from GitHub, and it deploys
The repo isn’t a one-way archive. Fix a typo in the GitHub web editor, merge a pull request, or point Claude Code or Codex at the repo and let them commit. Then click Pull from GitHub: the commits on main come back into your project, and it redeploys.
Pulling is careful with your work. If a file changed on both sides, we leave your version alone and list the file so you can reconcile it yourself. Nothing you did on Hatchable gets overwritten by a pull.
Turn any repo or zip into a live app
The other direction works for anyone. The deploy page takes a zip or a public GitHub repository URL and turns it into a live project, private until you say otherwise. A repository just needs a hatchable.toml at its root, and a single name line is enough; repos exported from Hatchable always have one. You can attach a data file too, so your tables arrive along with your code.
Share an app privately
Export and import also work together as a quiet way to hand someone an app. Every project has a Download zip button in the Code tab. Send that file to one person, they drop it into the deploy page, and they get their own running copy of your app: their own project, their own database, their own URL. No marketplace listing, no public repo, nothing published anywhere.
The zip carries code only. Your keys never travel with it, so if the app needs credentials the person importing connects their own during setup. Your database stays behind too; if you want them to have the data as well, the Download data button on the Database page gives your tables as plain SQL, and they can attach that file when they import.
Put a deploy button in your README
Rather share with everyone? Add the badge to your README and anyone can launch your repo on Hatchable in about a minute. Repos you push get a README with the badge by default, and there’s a checkbox to leave it out.
All of this is included on every plan, free plan included.