Lesson 8 of 8 · 15 min · Checked on 6 October 2026
Project: a personal site, from zero to online
By the end of this lesson you will be able to:
- Write the “done” criteria before starting a project
- Create a personal page with the agent, review the diff and save it with Git
- Publish the page with GitHub Pages and open it on your phone
- Ask the agent for a change, review it and publish again
Rita makes cakes to order in Calheta, on São Jorge, and wants an address to give her customers instead of “look me up on Facebook”. Today you make your own page, from zero to online, with what you learned in this level.
Before you start: what “done” means
Write the criteria first; without them you never know when you've finished. The project is done when:
- there is a new folder with Git;
- the agent created a page of yours (name, what you do, a made-up contact) in HTML and CSS;
- you reviewed the diff and opened the page in the browser;
- you made a commit;
- there is a repository of yours on GitHub with these files;
- the page is published with GitHub Pages;
- you opened it on your phone;
- you asked the agent for a change and published again.
Watch out
Everything you publish is visible to anyone. Use a made-up contact, such as maria@example.com, and no address or phone number. And you sign in to GitHub yourself: never give the agent your password or a token.
This is how it looks on 6 October 2026; your screen may differ. Look for the button with the same name. Guide: GitHub Pages quickstart.
Step 1: the folder and Git
mkdir site-pessoal
cd site-pessoal
git init
If it didn't work: if git init says it doesn't know the command, go back to lesson 5.
Step 2: the agent makes the page
Open the agent inside the site-pessoal folder (Portuguese for “personal site”) and swap the details for yours:
Create in this folder a simple personal page, in two files: index.html and estilo.css.
Content: my name (Maria Silva), one sentence about what I do (cakes made to order in Calheta) and the contact maria@example.com.
European Portuguese, large readable text, and it should look good on a phone.
No libraries and no outside files. Before you create anything, show me the plan.
Optionally, start with a short AGENTS.md, as in the previous lesson.
If it didn't work: index.html must be in the main folder, not a subfolder, and spelled exactly index.html, in lower case. If not, ask the agent to fix it.
Step 3: review and open in the browser
New files don't show up in git diff yet. Add them first and see what goes in:
git add .
git diff --staged
Then double-click index.html, or drag it into the browser.
If it didn't work: if the page has no colours or layout, index.html isn't finding estilo.css. Ask the agent: “The page opens without style. Check the link to estilo.css.”
Step 4: commit
git commit -m "First version of the personal site"
If it didn't work: “Author identity unknown” means the git config with your name and email, from lesson 5, is missing.
Step 5: the repository on GitHub
On GitHub, click the + in the top right corner and choose New repository. The name has to be USERNAME.github.io, with your username. Choose Public and leave README off (unlike the quickstart, you already have your files). Click Create repository.
Then, in the terminal, swap USERNAME for your username in both places:
git remote add origin https://github.com/USERNAME/USERNAME.github.io.git
git branch -M main
git push -u origin main
The first time, Git asks you to sign in to GitHub, usually in a browser window. Guide: adding locally hosted code to GitHub.
Tip
Ask the agent to explain these three commands, then run them yourself: that way the GitHub sign-in stays with you.
If it didn't work:
- “Password authentication isn't supported”: your normal GitHub password doesn't work there. Install the official GitHub CLI tool, run
gh auth loginand choose HTTPS. Guide: caching your GitHub credentials in Git. - “Repository not found”: the repository name or the
USERNAMEdoesn't match. - “rejected”: the repository was created with a README. Ask the agent to explain the options first.
- No terminal: in the repository, under Add file, choose Upload files and drag in the two files. Choose to commit directly to
mainand click Commit changes. If you pick a new branch, the button becomes Propose changes and opens a pull request: the site only changes after Merge pull request. Guide: adding a file to a repository.
Step 6: publish with GitHub Pages
In the repository, open Settings. In the side bar, under “Code, planning, and automation”, choose Pages. Under “Build and deployment”, set “Source” to Deploy from a branch, then set “Branch” to main and the folder to / (root). Click Save.
The site will be at https://USERNAME.github.io. It can take up to 10 minutes to appear.
With a free account, GitHub Pages only publishes public repositories. It suits personal pages, not a shop or anything that collects passwords or card details.
An alternative with no account: Netlify Drop, where you drag the folder into the browser; a site published without an account has conditions, so read them on that page first.
If it didn't work: if “404” appears, wait the 10 minutes. If it persists, check the repository name and that index.html is in the main folder.
Step 7: on your phone
Type the address, starting with https://, into your phone's browser.
If it didn't work: if the text is tiny, ask the agent to make it readable on small screens and publish again, as in step 8.
Exercise
Step 8: ask for a change and publish again.
How I know it worked the phone shows the new section, git log --oneline shows two commits and all eight criteria are met.
If it didn't work
- The phone shows the old version: wait a little longer and reload. The browser may be showing a saved copy.
git pushsays “Everything up-to-date”: nothing new to send: you missedgit add ., the commit, or both (git statusshows it). Go back to step 3 of the exercise.
Tip
One change at a time, each with its own commit. If one goes wrong, you go back only that one.
What you take from this level
- Using a coding agent in a folder of your own, reading its diff and undoing mistakes.
- Saving versions with Git and a copy on GitHub.
- Keeping secrets out of Git, with rules for the agent and a spending cap.
- Giving context with
CLAUDE.mdorAGENTS.md, and putting a page online.
Next: Level 2
Level 2 covers asking well and testing, commands, skills and hooks, MCP, prompt injection, context, memory, subagents, costs and Git branches. It ends with a bigger project: an API with a database, tests and publishing.
Videos
A step-by-step guide to creating a repository, making commits, uploading files and enabling GitHub Pages; the specified section ends before the invitation to a course.
An official GitHub video on GitHub Pages: publishing from a branch or with GitHub Actions, using a custom domain and HTTPS.
Test what you learned
Corrections to this lesson (1)
- : After an external review: «Propose changes» must be followed by «Merge pull request»; `git add .` comes before the commit; «Everything up-to-date» means the add, the commit or both were missing; Netlify Drop has the official link and a note to read the terms on that page. Quiz options were reordered.