Put your project on GitHub
Last updated 2026-08-05
Why does my Leefy project need GitHub?
Leefy holds the plan — the tree, soil, and handoffs. The code your coding agent writes lives on your machine and, when you are ready to share or ship, in a GitHub repository. Vercel, collaborators, and most agent workflows expect a repo URL. This guide gets you a real repo without pretending Leefy “connects” GitHub for you.
About fifteen minutes if you already have a GitHub account. You will do every step in GitHub (and optionally Terminal). Nothing here runs automatically inside Leefy.
If you already have a repo for this product, skip to You’re already set and Bring it back to Leefy.
What do I need before I start?
- A free GitHub account (personal is fine).
- A name for the project (your Leefy tree name is a good default — e.g.
sourdough-schedule). - Optional but recommended: Git installed if you will push from a local folder, or Claude Code / another agent that can initialise and push a repo for you.
- About 15 minutes and a browser signed in as you.
You do not need a paid GitHub plan for a private personal repo on the free tier’s usual limits.
How do I create a GitHub account?
If you already sign in at github.com, skip this section.
- Open github.com/signup.
- Enter email, password, and a username. Confirm the email GitHub sends you.
- Finish the welcome questions (you can skip most of them). You are done when you see your avatar in the top-right and a + menu.
How do I create a new repository?
- Open github.com/new, or click + → New repository.
- Repository name — short, lowercase, hyphens are fine (
my-productnotMy Product!!!). Match your Leefy tree name if you can. - Description (optional) — one line from your tree’s root description is enough.
- Visibility
- Private if the idea is not public yet (recommended for most early trees).
- Public only if you are deliberately open-sourcing.
- Do not tick “Add a README” if Claude Code (or you) will push an existing local project that already has files — an empty remote is easier for a first push. Do tick “Add a README” if this repo will start empty in the browser and you will add code later.
- Create repository.
You’re done when you see a page for that repo with a green Code button and a URL like https://github.com/your-name/your-repo.
Copy that URL now — you will paste it into Leefy later.
How do I put my local code into the repo?
Pick the path that matches where the code is.
Path A — Claude Code (or your agent) already has a project folder
- In Leefy, open the node you are building and use Code / create a session so the agent has the plan context (Claude Code handoff).
- Tell the agent clearly: create a git repo in this project folder if needed, add a remote pointing at your GitHub URL, and push the main branch (paste the HTTPS URL from the green Code button).
- On GitHub, refresh the repo page. You should see files, not an empty setup screen.
Path B — You have a local folder and Terminal
In the project folder:
git init
git add .
git commit -m "Initial commit from Leefy plan"
git branch -M main
git remote add origin https://github.com/YOUR_USER/YOUR_REPO.git
git push -u origin main
Replace YOUR_USER and YOUR_REPO with your GitHub values. If GitHub asks you to sign in, use a browser login or a personal access token — GitHub no longer accepts account passwords for git over HTTPS.
Path C — Repo is empty on GitHub and code does not exist yet
Keep building in Claude Code against the local folder. When there is something worth saving, use Path A or B. An empty private repo is still a valid “home” to paste into Leefy until the first push.
I already have a GitHub repo
- Open the repo on GitHub and copy the HTTPS URL from Code.
- Skip creation steps.
- Continue to Bring it back to Leefy.
- When you deploy, use this same repo in the Vercel guide.
How do I bring the repo back to Leefy?
Leefy does not yet store a dedicated “connected repo” field. Until in-app paste-back ships, keep the URL where you (and your future self) will find it:
- Copy
https://github.com/you/your-repo. - Paste it into one of:
- the root node description or a short soil note (“Repo: …”), or
- a fruit / harvest node description when that branch is the shippable app, or
- your password manager / project checklist next to the tree name.
- Optionally add a tag like
repoon that node so you can find it later.
You’re done when anyone on the project can open GitHub from that URL and see the code (or an empty repo you intend to fill). Leefy never marks “Deployed” from this step — that is the Vercel path.
What should I do next?
- Keep building with Claude Code handoff against the same folder and remote.
- When the app should be on the internet, follow Deploy to Vercel — it assumes this repo exists.
If something goes wrong
| Symptom | What to try |
|---|---|
remote origin already exists | You already linked a remote. Check with git remote -v. To replace it: git remote set-url origin https://github.com/YOU/REPO.git |
| Push rejected / non-fast-forward | The GitHub repo has commits (e.g. a README) your local folder does not. Prefer an empty remote for the first push, or pull with rebase only if you understand merge conflicts |
| Authentication failed | Use GitHub’s browser sign-in helper, SSH keys, or a fine-grained PAT — not your GitHub password |
| I created the repo under the wrong account | Transfer it under Settings → General → Danger Zone → Transfer, or create a new repo under the right account and push again |
| I only use GitLab / Bitbucket | Same idea: host the git remote there; Vercel can import those hosts too. This guide’s clicks are GitHub-specific |
What Leefy does not do (on purpose)
- Leefy does not OAuth into your GitHub or create repos for you.
- Leefy does not push commits or open pull requests.
- Leefy does not claim the project is “connected to GitHub” until you have a real URL you can open.
That is the runbook model: you complete the specialised tool; Leefy keeps the plan and the record of where the work lives.