Step 3 · Just enough Git
Clone, fork or copy
To make your own version of a starter, you fork it or copy it into a repo of your own. Cloning is how the agent gets a working copy of that repo to edit.
- Fork: your own copy of someone else's repo, on GitHub. It stays linked to the original.
- Fresh copy: a brand-new repo of yours with the starter's files copied in. No link back, and its history starts fresh.
- Clone: a working copy of a repo, on your computer or in the cloud. It stays linked to the repo it came from, so the agent can push its changes back.
Which one to use
| Good | Watch out | |
|---|---|---|
| Fork | Fastest: one prompt with the GitHub CLI, or two clicks on GitHub. | A fork of a public repo is always public; you can't make it private. Commits in a fork don't count on your GitHub profile. |
| Fresh copy | How the real examples were made: history-of-indigo from history-of-tampa, and the Florida ecosystem map from startup-india-guide. You choose public or private, and your commits count on your profile. | A few more steps, which the agent does for you. |
A fork is fine for a first site. Make a fresh copy if you want your work to show on your GitHub profile.
The steps below use fritzhand/history-of-tampa, one long scrolling story that works for any history subject. For a multi-page site with a sidebar, on any subject, swap in fritzhand/startup-india-guide. Pick a starter compares them.
Fork a starter
Do this once. It covers step 1 of the step-by-step route in Make your own version. That page's faster one-prompt route starts from an empty repo instead, so don't fork if you plan to use it.
App path
-
Fork it on GitHub
Cloud sessions work only with repos that already exist, so this click is yours. Open https://github.com/fritzhand/history-of-tampa (opens in a new tab) and click Fork in the top-right corner. Type your-repo as the repository name, leave the other options as they are, and click Create fork.
-
Open it in a new session
Start a new session and pick your fork in the repository selector. If it isn't in the list, add it to the Claude GitHub App, as shown in Claude Code in the app.
VS Code path
Open your Projects folder in VS Code, then say:
Fork fritzhand/history-of-tampa into my account, with only the main branch, and name the fork your-repo. If you can't choose the fork's name, stop and tell me. Don't fork it under another name. Then clone it here.
Then open it yourself: File → Open Folder…, choose Projects/your-repo, and start a new conversation there. Now the agent works in your repo and reads its CLAUDE.md or AGENTS.md when it starts.
Make a fresh copy
App path
-
Create your repo
Follow "Create a new repo" in Repos: public or private. The starter's files will replace its README.
-
Start a session with both repos
Select your repo and
fritzhand/history-of-tampa, as shown in Many repos, one to work in. -
Ask for the copy
Say thisWork only in your-username/your-repo. Treat the other repos as read-only reference. Copy every file from fritzhand/history-of-tampa into my repo (not the .git folder), commit and push to main.
VS Code path
Open your Projects folder in VS Code, then say:
Create a new public GitHub repository called your-repo and clone it here. Copy every file from https://github.com/fritzhand/history-of-tampa into it (not the .git folder), commit and push to main.
Then open it yourself: File → Open Folder…, choose Projects/your-repo, and start a new conversation there. Now the agent works in your repo and reads its CLAUDE.md or AGENTS.md when it starts.
Clone your repo
The steps above already give the agent a clone: on the app path, each session clones the repos you pick, and on the VS Code path, the prompts clone into Projects. To get your repo onto another computer, open that computer's Projects folder in VS Code and say:
Clone https://github.com/your-username/your-repo into this folder.
Then open Projects/your-repo as above. Clone your own repo, not the original: the agent can't push to a repo that isn't yours.
If it goes wrong
The agent says it can't push
It's probably working in the original starter, which isn't yours. Tell it which repo to use:
Work only in your-username/your-repo. Treat the other repos as read-only reference.
On the app path, also check that the Claude GitHub App is installed on your repo. See Claude Code in the app.
GitHub says the name is already taken
You already have a repo with that name, maybe from an earlier fork. Use that repo, or pick a new name.
I forked, but I want my commits to count
Make a fresh copy under a new name, as above, and use that one from now on. You can delete the fork later.
What the agent runs for you
# Fork with only the main branch, and clone the fork (GitHub CLI)
gh repo fork fritzhand/history-of-tampa --clone --default-branch-only --fork-name your-repo
# Fresh copy: make your repo, clone the starter next to it,
# then copy the starter's files without its .git folder
gh repo create your-repo --public --clone
git clone https://github.com/fritzhand/history-of-tampa
git -C history-of-tampa archive HEAD | tar -x -C your-repo
cd your-repo
git add .
git commit -m "Copy the history-of-tampa starter"
git push origin main
# Clone
git clone https://github.com/your-username/your-repo.git
Saved only in this browser.