How to Ship a Website with Claude Code

Build a single-page site, push it to GitHub, and point a domain at it — all from your browser. No terminal required. No IDE required. No previous coding experience required. Prior enthusiasm optional.

Jump to
0

Before You Start

You'll need a few accounts set up. If you already have these, skip ahead. If you don't, this takes about five minutes. Ten if you forget your password to something.

Claude Account

Go to claude.ai and sign up (or log in). A Pro plan gets you Claude Code access — it's the agentic coding mode built right into the browser.

GitHub Account

Free tier works fine. You'll create a repository on github.com and enable GitHub Pages to host your site.

A Domain + Cloudflare

Buy a domain from any registrar. Sign up for Cloudflare (free plan). You'll point the domain's nameservers at Cloudflare.

Good to know

Claude Code runs right in your browser at claude.ai. You talk to it in plain English, and it writes code, creates files, and builds your project in a cloud environment. Think of it as an extremely capable intern who never takes lunch breaks, types at 900 WPM, and doesn't need you to install anything.


1

Create a GitHub Repository

We're starting on GitHub because Claude Code in the browser can connect directly to a repo and push your code for you. No downloading, no uploading, no file-juggling. Set up the repo first, and Claude handles the rest.

Step 1a

Create the Repo

Head to github.com and create a new repository:

  1. Click the + button in the top-right corner and select New repository
  2. Name it something sensible (e.g., good-boy-walks)
  3. Set it to Public (required for free GitHub Pages hosting)
  4. Check Add a README file — this initializes the repo so Claude Code can connect to it immediately
  5. Click Create repository
Step 1b

Enable GitHub Pages

While you're here, go ahead and turn on GitHub Pages so your site goes live the moment Claude pushes code to it:

  1. Go to SettingsPages (in the sidebar)
  2. Under Source, select Deploy from a branch
  3. Set the branch to main and the folder to / (root)
  4. Click Save
Good to know

Your site will be live at https://yourusername.github.io/good-boy-walks/ as soon as there's an index.html in the repo. Right now it'll just show the README — we'll fix that in Step 2.


2

Build & Push with Claude Code

Now for the fun part. Head to claude.ai and start a new Claude Code session connected to your GitHub repo. Claude Code can read, write, and push code directly — no manual file transfers needed.

Step 2a

Start a Claude Code Session

On claude.ai, start a new conversation and select Claude Code mode. Connect it to your GitHub repository — you'll be prompted to link your GitHub account if you haven't already. Select the good-boy-walks repo you just created.

Step 2b

Describe Your Site

Tell Claude Code what you want. Be specific about the kind of site — the more detail, the better the output.

You Build me a single-page website for a dog walking business called "Good Boy Walks." It should have a hero section with a tagline, a services section with three cards (30-min walk, 60-min walk, and puppy playdate), a testimonials section, and a contact form. Use a clean, modern design with a warm color palette. Make it fully responsive.
Claude I'll create a complete single-page website for Good Boy Walks. Let me build the HTML file with embedded CSS and the sections you described...

Claude Code will create the files directly in your connected repo. You'll typically get an index.html file — and possibly a styles.css if the styles warrant their own file.

See the result

We ran exactly this prompt through Claude Code and published the output. Check out the finished Good Boy Walks site →

Step 2c

Iterate on the Design

Don't love something? Just say so. Claude Code keeps the full conversation context, so you can refine as you go.

You Make the hero section taller, change the background to a gradient from navy to dark blue, and make the tagline font bigger. Also add a "Book Now" button that scrolls to the contact form.
Claude I'll update the hero section with those changes...
You The testimonials section looks plain. Can you add customer photos as circles next to each quote? Use placeholder images for now.
Claude Sure, I'll add circular avatar images alongside the testimonials...

Keep going until you're happy. You can ask Claude Code to change colors, swap layouts, add animations, rewrite copy — whatever you need.

Step 2d

Push to GitHub

When you're satisfied, tell Claude Code to commit and push. Since it's already connected to your repo, this is a one-liner:

You Commit everything and push to main.
Claude I'll commit all the files and push to the main branch of your repository...

That's it. Your code is on GitHub. Since you already enabled GitHub Pages in Step 1, your site will be live at https://yourusername.github.io/good-boy-walks/ within a minute or two. Bask in the glory briefly — we're not done yet.

Pro tip

You can ask Claude Code to do just about anything during the build phase. Want a dark mode toggle? A smooth-scroll navigation? An animated SVG? Just ask. And when you want to update the site later, just start a new Claude Code session connected to the same repo, make changes, and push again. The more you treat it like a conversation, the better the results. Don't be shy — it doesn't have feelings (yet).

Heads up

Make sure your main HTML file is called index.html and is in the root of the repository. GitHub Pages looks for that file specifically. If it's named my-cool-site.html or buried in a subfolder, GitHub Pages will serve a 404 and you'll feel very alone.


3

Add a Custom Domain via Cloudflare

Your site has a GitHub Pages URL, but yourusername.github.io/good-boy-walks doesn't exactly scream "professional dog walking empire." Let's point a real domain at it.

Step 3a

Add Your Domain to Cloudflare

If you haven't already, add your domain to your Cloudflare account:

  1. Log in to Cloudflare and click Add a Site
  2. Enter your domain (e.g., goodboywalks.com)
  3. Select the Free plan
  4. Cloudflare will scan your existing DNS records — review and continue
  5. Cloudflare will give you two nameservers (e.g., ada.ns.cloudflare.com and leo.ns.cloudflare.com)
  6. Go to your domain registrar and update your domain's nameservers to the ones Cloudflare provided
Patience required

Nameserver changes can take up to 24 hours to propagate, though it's usually much faster. Cloudflare will email you when it's active. Use this time to question whether "Good Boy Walks" is the best name or if you should have gone with "Bark & Stride."

Step 3b

Configure DNS Records

Once Cloudflare is active for your domain, set up the DNS records to point at GitHub Pages.

In your Cloudflare dashboard, go to DNSRecords and add the following:

DNS Records
# CNAME record for the www subdomain
Type: CNAME
Name: www
Target: yourusername.github.io
Proxy: Enabled (orange cloud)

# CNAME record for the apex domain
Type: CNAME
Name: @
Target: yourusername.github.io
Proxy: Enabled (orange cloud)
Why CNAME for both?

Cloudflare supports CNAME flattening, which means you can use a CNAME record for the apex domain (goodboywalks.com) even though that's technically not allowed by the DNS spec. Cloudflare resolves it automatically. This is simpler than adding four separate A records for GitHub's IP addresses.

Step 3c

Tell GitHub About Your Domain

Go back to your GitHub repo's SettingsPages and:

  1. Under Custom domain, enter your domain (e.g., www.goodboywalks.com)
  2. Click Save
  3. Check the Enforce HTTPS box (it may take a few minutes to become available)

This will create a CNAME file in your repo's root containing your domain name. GitHub handles this automatically — no terminal work needed.

Step 3d

Configure Cloudflare SSL

One more thing — make sure Cloudflare's SSL settings play nice with GitHub Pages.

  1. In Cloudflare, go to SSL/TLSOverview
  2. Set the encryption mode to Full (not "Full (strict)" — GitHub Pages uses its own certificate)
You're live

Give it a few minutes for everything to propagate. Then visit your domain. Your single-page website — built with Claude Code, hosted on GitHub, served through Cloudflare — is live on the internet. You built this. Well, you and Claude. Mostly Claude. But you were there, and that counts.


That's It. You Shipped a Website.

Three tools. One browser. Zero installs. Zero context switching into an IDE you don't understand. Go build something.

Back to BizByCT Get in Touch