Brand new to Git, GitHub, Firebase & AI coding? Start here β plain English, real commands, one step at a time.
Your code lives in three places. Almost everything you'll do is just moving it between them.
push / pull move code to and from GitHub Β·
deploy makes it live on the internet via Firebase.
Editing on your computer changes nothing online until you push and/or deploy.
Two of the sections below are βdeploy loops.β You only need one of them β pick by what's in your project folder.
.html files you can open directly. β Use the Static HTML Flow (Section 3).package.json with a build step (React / Vite)?npm run build to make the site. β Use the React Workflow (Section 4).package.json = Static. Has a package.json with a "build" script = React.
What is this? Git = a time machine for your code (it saves snapshots you can rewind to). GitHub = a website that stores those saves online so they're backed up and shareable. This section links your local folder to a GitHub repo once.
What is this? Your project already lives on GitHub (from Section 1). Now you're on a different computer and want a copy to work on. Cloning downloads the whole project β files and history β in one command.
What is this? The everyday loop for a plain HTML/JS site (like this cheat sheet). There's no βbuildβ step β your files are the website β so you deploy them straight to Firebase. Every session: pull β deploy β push.
What is this? React / Vite projects have a build step β your source code gets compiled into a dist/ folder, and that is what goes live. So the loop is longer: pull β check β build β deploy β verify β push. Follow it in order every time.
What is this? Firebase is Google's hosting service β it's what actually puts your site on the internet at a public URL. The Firebase CLI (the firebase command) is how you log in, choose which project you're deploying to, and push your site live.
https://your-site.web.app. Open it to see your changes live.
firebase login again. If it deploys but you see the wrong site, you were on the wrong project β run firebase use to check, switch, and redeploy.
What is this? Claude Code is an AI coding assistant that runs in your terminal. You type claude to start it, then talk to it in plain English β it can read your files, make changes, run commands, and even commit, push, and deploy for you.
--dangerously-skip-permissions = βYOLO mode.β It auto-approves every file write, command, and network call with no prompts. Only run it in a trusted project where git is your undo button β commit before you start so you can roll back.
claude -c.
claude isn't recognized in your terminal at all.
claude auth login to sign in, claude auth logout to switch.
firebase deploy --only hosting. In --dangerously-skip-permissions mode it does all of it without stopping to ask. For example:
claude command runs on YOUR machine. If you turn the computer off, close the terminal, or it goes to sleep, Claude Code stops and does not finish the job.
claude --cloud, or Claude Code on the web at claude.ai/code) that runs on Anthropic's servers and keeps going with your computer off. But it's a more advanced setup: it clones your project from GitHub (so you must push first) and needs your secret keys stored in its cloud settings, not your local .env.
claude so it asks before each step β you'll learn what it's doing. Switch to --dangerously-skip-permissions once you trust it and have committed your work as a safety net.
What is this? Two small Markdown files do the heavy lifting so Claude Code always knows your project and what to do next β set them up once and stop re-explaining yourself every session.
They point at each other: RUNBOOK.md points to CLAUDE.md for the stack, commands, and rules β and CLAUDE.md points to RUNBOOK.md for the current tasks.
IDEAS / LATER if you're not building it yet) β never straight into the code.You're setting me up on a brand-new project and I want you to explain things simply. Do these
steps IN ORDER and DON'T build any features until I approve.
1) Look at anything already in this folder. Then ask me up to 4 short questions to learn: what
I'm building, who it's for, the main features I want to start with, and any tools I already
use. Wait for my answers.
2) Recommend the SIMPLEST tech stack that does the job (no over-engineering). Explain it in
plain English, name the exact tools and where it will be deployed, and give one main pick
plus one simpler alternative. If the tools I already use fit, say so. Then wait for me to
say "go".
3) After I approve, create two Markdown files that reference each other:
- CLAUDE.md: the permanent project brain. Most important rules at the top. Include the
stack, the exact install/run/build/deploy commands, folder + code conventions, and a
"Hard Rules" section. End with: "Current tasks and progress live in RUNBOOK.md."
- RUNBOOK.md: the living task list. Start with a "RESUME HERE ->" line. Turn the features I
named into small, independently testable slices in build order; each slice gets a
checkbox, a one-line goal, the files it touches, and how I'll verify it. Tag slices
P1/P2/P3. Add an "IDEAS / LATER" section. Near the top put: "Stack, commands, and rules
live in CLAUDE.md - read it first."
4) Tell me in one sentence: from now on any new feature or idea goes into RUNBOOK.md (under
IDEAS / LATER if we're not building it yet) - never straight into the code.
5) Show me both files and the single next thing to do. Don't build yet - wait for my go.
This is a project I've already built. Create a CLAUDE.md so you have context every session without me re-explaining. First actually read the project - main files, config, package.json / firebase.json if present, and the folder structure. Don't guess; base it on what's really here. Then create CLAUDE.md in the root, most important rules at the top, including: what this project is (1-2 plain sentences), the real stack you found, the exact run/build/deploy commands from the config, the folder layout and conventions I follow, and a "Hard Rules" section with a couple of blank bullets for me to fill in. End with: "Current tasks live in RUNBOOK.md." Show me the file and flag anything you weren't sure about so I can correct it.
Read CLAUDE.md and RUNBOOK.md, then follow the "RESUME HERE" line. Plan the next unchecked P1 slice only (tell me the files and approach first), then build just that slice and show me it working. Once I confirm, check it off in RUNBOOK.md with a one-line note, then commit with a clear message, push, and deploy. Then stop and tell me the next slice.
Add this to the "IDEAS / LATER" section of RUNBOOK.md so we don't forget it, but don't build it now: [describe the feature]. If it's something we should do next, turn it into a proper slice with a checkbox, goal, files, and how I'll verify it - otherwise just log it.
main, older ones master.)package.json into a node_modules folder.dist/ folder for React/Vite).