πŸŽ‰
You're in!
Your seat is saved for Saturday, August 29, 9:00–12:00. One last thing: set up your laptop before you come β€” it takes about 30 minutes and means you spend the workshop building, not installing.
Workshop preparation

Get your laptop ready before the workshop.

Set up your terminal, install an AI coding agent, connect GitHub. Please do this at home before the day. Installing takes a while and isn't very interesting, and the morning is short. If everyone arrives ready, you'll be building within the first ten minutes.

My laptop is a
Your AI tool is chosen in step 2; the guide adapts to both.

1 Β· What you need

Before the workshop, make sure you have:

  • A Mac running a recent macOS (Sonoma or newer is ideal).
  • A Windows PC on Windows 10 or 11.
  • A GitHub account β€” free, sign up at github.com.
  • A paid AI subscription β€” either a Claude Pro / Max / Team plan for Claude Code, or a ChatGPT Plus / Pro / Business plan for Codex. Free accounts don't work for either. More on this in the next step.
  • About 30 minutes and decent Wi-Fi.
  • On the day: your laptop and its charger. No laptop, no workshop β€” it's hands-on from minute ten.
🏒
Company or school laptop? Check it nowManaged devices are often locked down: you may not be allowed to install apps, run terminal commands, or reach certain websites β€” and IT policy might forbid it anyway. If that's your situation, bring a personal laptop instead if you possibly can. If you can't, you're still very welcome β€” register anyway, mention it in the β€œwhat would you love to build” box, and I'll do my best to have a device ready for you on the day.
⚠️
A paid plan is requiredAI coding agents aren't available on free tiers. Claude Code needs at least Claude Pro ($20/mo). Codex needs at least ChatGPT Plus ($20/mo). If you have neither, we recommend Claude Pro β€” it's what we'll demo on, and you can cancel after the workshop.

2 Β· Pick your AI tool

Both are β€œcoding agents”: you type what you want in plain English, and they write the code, run it, and fix it. Choose one below β€” the rest of this guide adapts to your choice. If you're undecided, pick Claude Code.

πŸ’‘
Can I switch later?Yes. The workflow is nearly identical. You'll learn the skills, not the tool. If you have both subscriptions, install both β€” it's two minutes.

3 Β· Set up your terminal

The terminal is where your AI agent lives. It's just a text box that talks to your computer.

1

Install Ghostty

Ghostty is a fast, native terminal app. It handles long output smoothly (which matters when an AI is generating code) and stays out of your way.

Go to ghostty.org, download the macOS app, open the .dmg, and drag Ghostty to Applications. Open it (⌘ Space, type β€œGhostty”, Enter). You should see a window with a blinking cursor.

🧐
Already use iTerm2, Warp or Terminal.app?That's fine. Ghostty is just our recommendation β€” the built-in Terminal tends to lag on long sessions.
1

Open Windows Terminal

Windows Terminal is Microsoft's modern terminal. On Windows 11 it's pre-installed; on Windows 10 grab it free from the Microsoft Store.

Open it with Win + X β†’ Terminal, or search β€œTerminal” in the Start menu. Make sure you're in a PowerShell tab (the default), not Command Prompt.

⚠️
PowerShell, not CMDIf your prompt looks like C:\> you're in Command Prompt. Open a new PowerShell tab β€” the prompt should show PS C:\>.

4 Β· Install HomebrewInstall Git for Windows

2

Install Homebrew (the package manager)

Homebrew is an app store for developer tools that runs in the terminal. Paste this into Ghostty:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

It asks for your Mac password. Nothing appears as you type β€” that's normal. Press Enter. Follow any β€œNext steps” it prints at the end (usually two lines to paste).

βœ…
Already have Homebrew?Run brew --version. If it prints a version, skip this step.
2

Install Git for Windows

Both Claude Code and Codex use Git under the hood, so this is required. Download from git-scm.com/downloads/win and install with the default settings.

Close and reopen Windows Terminal so it picks up the new PATH. Then verify:

PS> git --version
# Should print something like: git version 2.47.1.windows.1
πŸ“¦
WinGet is built inWindows 10/11 ships with winget, a package manager like Homebrew. We'll use it for the GitHub CLI later β€” nothing to install.

5 Β· Install Claude CodeCodex switch to Codexswitch to Claude Code

3

Install Claude Code

Run this in Ghostty:

Run this in PowerShell:

$ curl -fsSL https://claude.ai/install.sh | bash
PS> irm https://claude.ai/install.ps1 | iex

Close and reopen Windows Terminal so the PATH update takes effect. Then verify:

Verify it installed:

$ claude --version

Now log in. Run claude β€” it opens a browser window to sign in with your Claude account. Follow the prompts.

$ claude

Once logged in you'll see a prompt. Type hello and press Enter to check it responds. Then type /exit.

πŸŽ‰
You're set upIf Claude replied to your hello, everything works. Claude Code updates itself automatically.
🟑
Yellow warning about git-bash?Git is installed but not on your PATH yet. Close and reopen Windows Terminal, then run claude again. If it persists, set the path manually:
PS> [System.Environment]::SetEnvironmentVariable("CLAUDE_CODE_GIT_BASH_PATH", "C:\Program Files\Git\bin\bash.exe", "User")
Then close and reopen Terminal once more.
❓
β€œclaude” not recognized?Refresh your PATH without restarting:
PS> $env:Path = [System.Environment]::GetEnvironmentVariable("Path", "User") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "Machine")
PS> claude --version
If that still fails, close all Windows Terminal windows (not just the tab) and open a fresh one.
3

Make sure your ChatGPT plan includes Codex

Codex is included with ChatGPT Plus, Pro, Business, Edu and Enterprise. It is not available on the Free plan. Check yours at chatgpt.com β†’ Settings β†’ Subscription.

Don't have one yet? Go to chatgpt.com, create an account, then Upgrade β†’ Plus ($20/mo). Plus gives you plenty of Codex usage for a workshop morning; Pro gives much more headroom.

πŸ”‘
No API key neededSigning in with your ChatGPT account uses your subscription's included usage. You only need an API key if you want pay-as-you-go billing instead β€” we won't.
4

Install the Codex CLI

Run one of these in Ghostty (the first is the official installer; the second uses Homebrew):

$ curl -fsSL https://chatgpt.com/codex/install.sh | sh
$ brew install --cask codex

Run this in PowerShell:

PS> powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
πŸͺŸ
Windows is newer territory for CodexOpenAI's most battle-tested Windows path is via WSL (Windows Subsystem for Linux). The native installer above works for most people; if it gives you trouble, either install WSL (wsl --install in an admin PowerShell, then follow the Mac/Linux commands inside Ubuntu) or use Claude Code instead, which is smoother on Windows.

Close and reopen your terminal, then verify:

$ codex --version
πŸ“¦
Prefer npm?If you already have Node.js 22+, npm install -g @openai/codex also works. Careful: the package is @openai/codex β€” the unscoped codex package on npm is unrelated.
5

Sign in with ChatGPT

$ codex

Choose Sign in with ChatGPT. Your browser opens β€” log in with the account that has your Plus/Pro plan (double-check you're not on a different, free account). Return to the terminal when it says you're done.

Type hello and press Enter to check it responds. Then press Ctrl + C (or type /quit) to exit.

πŸŽ‰
You're set upIf Codex answered, you're ready. To switch accounts later: codex logout, then codex again.
🌐
Browser sign-in didn't come back?Run codex login --device-auth β€” it prints a URL and a short code you can enter on any device.

6 Β· Install the desktop app (optional but handy)

4

Download the Claude app

The Claude desktop app gives you three ways to work with Claude; we'll touch all three during the workshop:

  • Chat β€” the familiar conversation interface, as a native app.
  • Cowork β€” Claude works alongside you on files and apps, proactively.
  • Code β€” Claude Code running inside the desktop app, no terminal needed.

Download from claude.ai/download, open the .dmg, drag Claude to Applications.

Download from claude.ai/download, run the installer, follow the prompts.

Sign in with the same Claude account you used in the terminal. If you see a chat interface, you're good.

🎚️
Chat vs. Cowork vs. CodeThree levels of autonomy: Chat is you asking. Cowork is Claude jumping in where it can help. Code is Claude driving β€” reading files, running commands, building things.
6

Download the Codex app

OpenAI ships a desktop Codex app that wraps the same agent in a friendlier window with multiple parallel threads. It's optional β€” the CLI is all you need β€” but nice to have as a fallback if the terminal feels intimidating.

Get it from chatgpt.com/codex (the ChatGPT desktop app from openai.com/chatgpt/download also includes a Codex tab). Sign in with the same ChatGPT account.

πŸ’‘
Also install the Claude appEven if you build with Codex, the free Claude app (claude.ai/download) is useful during the workshop for brainstorming and following the instructor's demos.
βœ…

Core setup done.

Terminal ready, AI agent talking, desktop app installed. Everything below is about getting comfortable β€” skim it now, and we'll practice together on the day.

7 Β· Getting comfortable with the terminal

Never used a terminal? Here's the crash course. Instead of clicking through folders in FinderFile Explorer, you type commands. You only need four.

πŸ‘
Good newspwd, ls, cd and mkdir all work in PowerShell too.
β†’

Where am I: pwd

β€œPrint working directory.” Shows which folder you're in.

$ pwd
# /Users/yourname
β†’

What's here: ls

β€œList.” Shows what's in the current folder.

$ ls
# Desktop  Documents  Downloads  Projects ...
β†’

Move around: cd

β€œChange directory.” cd .. goes up one level; cd ~ goes home from anywhere.

# Go into Documents
$ cd Documents
# Back up one level
$ cd ..
# Home, from anywhere
$ cd ~
β†’

Create folders: mkdir

β€œMake directory.” -p creates parent folders if needed.

$ mkdir -p ~/Projects/workshop
β˜…

The pattern you'll use every time

# 1. Go to your project folder
$ cd ~/Projects/my-project
# 2. Start the agent
$ claude
# 3. Talk to it in plain English
"Create a web page with a hero section and a contact form"
# 4. Exit when done
/exit
# 1. Go to your project folder
$ cd ~/Projects/my-project
# 2. Start the agent
$ codex
# 3. Talk to it in plain English
"Create a web page with a hero section and a contact form"
# 4. Exit when done (Ctrl+C twice also works)
/quit
β‡₯
Tab completionPress Tab while typing a folder name and the terminal finishes it for you. Try: type cd Docu, press Tab.

8 Β· Useful commands inside the agent

While chatting, commands that start with / control the tool itself β€” they're not messages to the AI.

  • /status β€” check your usage. Useful when Claude seems slow; you might be near your limit.
  • /clear β€” fresh conversation, same project files. Use when switching tasks or when Claude seems confused by old context.
  • /help β€” every command and shortcut.
  • /btw β€” ask a quick side question without interrupting the main task. Answer appears in an overlay; Esc dismisses.
  • /review β€” code & security review of recent changes.
  • /insights β€” a report on how you've been using Claude Code and features you're missing.
  • Esc Esc (or /rewind) β€” your undo button. Pick a point in the conversation and Claude reverts both the chat and the code changes made after it. Restore code + conversation, conversation only, or code only.
πŸ§ͺ
Experiment freelyBecause you can always rewind, try things. If Claude takes a wrong turn, Esc Esc and you're back.
  • /status β€” your session, model, and remaining usage.
  • /new β€” start a fresh conversation in the same folder.
  • /model β€” pick a model / reasoning effort. Higher effort = smarter but slower.
  • /init β€” create an AGENTS.md file with notes Codex reads every session (project conventions, what not to touch).
  • /diff β€” see what Codex has changed so far.
  • /help β€” every command and shortcut.
  • Esc while it's working β€” interrupt and redirect. Codex keeps your project in Git, so your undo button is git checkout . (discard uncommitted changes) β€” or just tell Codex β€œrevert the last change.”
πŸ§ͺ
Commit oftenEvery time something works, say β€œcommit this.” Then you can always jump back to a working state.

9 Β· Understanding permissions

By default the agent asks before running commands or editing files. Safe, but slow when you're prototyping. For the workshop we'll let it move faster.

β†’

Auto mode

For the workshop we'll run Claude Code in auto mode. Claude edits files and runs commands on its own, but a built-in safety check still reviews each action and only stops to ask you about the genuinely risky ones (deleting things, touching files outside the project, anything irreversible). Fast, and still has a seatbelt.

$ claude --permission-mode auto

You can also switch modes mid-session: press Shift + Tab to cycle through them, or type /permissions.

ModeWhat it does
defaultAsks on first use of each tool. The safe default for important repos.
acceptEditsAuto-approves file edits; still asks before running commands.
autoActs on its own; a safety check asks only about risky actions. Use this for the workshop.
planRead-only. Claude can analyze but not change anything. Great for reviewing.
bypassPermissionsNo checks at all (--dangerously-skip-permissions). Not needed for us.
β†’

Approval modes & the sandbox

Codex has two dials: approvals (when it asks you) and a sandbox (what it's physically allowed to touch). The defaults ask a lot. For the workshop, start it like this:

$ codex --full-auto

--full-auto lets Codex edit files and run commands inside your project folder without asking, while the sandbox still blocks it from touching the rest of your computer. If a step genuinely needs to go outside (e.g. installing a tool), it asks.

FlagWhat it does
(default)Read-only sandbox; asks before edits and commands. Safe, slow.
--full-autoEdits + commands inside the project folder, no prompts. Use this for the workshop.
--dangerously-bypass-approvals-and-sandbox (aka --yolo)No sandbox, no prompts at all. No safety net at all. Fine for throwaway prototypes; don't use on anything precious.

You can also change modes mid-session with /approvals.

10 Β· GitHub setup

GitHub is where we'll store and publish code. With the CLI, the agent can create repos, push code and deploy pages without leaving the terminal.

A

Create a GitHub account

If you don't have one: github.com/signup. Free is all you need. Two minutes.

B

Install the GitHub CLI

$ brew install gh
PS> winget install GitHub.cli

Close and reopen Windows Terminal after installing.

Then log in:

$ gh auth login

When asked, choose: GitHub.com (not Enterprise) β†’ HTTPS β†’ Login with a web browser. It opens your browser to authorize. Verify:

$ gh auth status
# Logged in to github.com as yourname
C

Dry run: publish a page to GitHub Pages

Optional, but it proves the whole pipeline works before the workshop. GitHub Pages hosts static sites for free.

$ mkdir -p ~/Projects/my-page
$ cd ~/Projects/my-page
$ claude --permission-mode auto$ codex --full-auto
PS> mkdir -p ~\Projects\my-page
PS> cd ~\Projects\my-page
PS> claude --permission-mode autoPS> codex --full-auto

Then tell it:

Build a simple landing page with a hero section, an about
section, and a contact link. Clean, modern design, everything
in a single index.html file.

Then create a GitHub repository called "my-page", push this
project to it, and set up GitHub Pages so it's live on the web.
Give me the URL when it's done.

It will build the page, init Git, create the repo, push, enable Pages, and hand you a URL like https://yourusername.github.io/my-page/. Live within a minute or two.

To change it later: cd back into the folder, start the agent, and say β€œUpdate the headline, then push to GitHub.”

πŸ†“
Free hosting, foreverGitHub Pages is free for public repos. No hosting fees, no servers.

11 Β· Railway (optional β€” for real web apps)

GitHub Pages only hosts static sites. If your idea needs a server β€” user accounts, a database, saving things people type in β€” you need somewhere to run code. Railway is the easiest option we've found: connect a repo, it builds and runs it, you get a URL. This very website runs on it. Skip this if you're not sure; you can set it up in five minutes on the day.

A

Create a Railway account

Go to railway.com and click Login β†’ Login with GitHub. Using your GitHub account means Railway can deploy straight from your repos later.

New accounts start on a free trial with a small credit. To deploy for real you'll need the Hobby plan ($5/month), which includes $5 of usage β€” a small workshop app costs cents. You can add a card later; the trial is enough for the workshop.

B

Install the Railway CLI

$ brew install railway
PS> npm i -g @railway/cli
πŸ“¦
npm not found?Install Node.js first: winget install OpenJS.NodeJS.LTS, then close and reopen the terminal. (Or use Scoop: scoop install railway.)

Then log in β€” it opens your browser:

$ railway login
$ railway whoami
# Logged in as you@example.com

That's all the agent needs: once you're logged in, it can run railway commands on your behalf.

C

Optional: create an API token

A token lets tools deploy without the browser login β€” useful for GitHub Actions or if the agent runs somewhere that can't open a browser. Not needed for the workshop itself, but here's how:

  1. Open railway.com/account/tokens.
  2. Give it a name (e.g. workshop), leave the workspace as is, click Create.
  3. Copy it immediately β€” it's shown only once.

Use it by setting an environment variable before running commands:

$ export RAILWAY_API_TOKEN=paste-your-token-here
$ railway whoami
PS> $env:RAILWAY_API_TOKEN = "paste-your-token-here"
PS> railway whoami
πŸ”
Treat it like a passwordAnyone with the token can deploy and delete your projects. Don't paste it into chat windows or commit it to GitHub. If it leaks, delete it on the tokens page and make a new one.
D

Deploy something

Inside your project folder, start the agent and tell it:

Deploy this app to Railway: create a new Railway project,
make sure the server listens on the PORT environment variable,
deploy it, generate a public domain and give me the URL.

Under the hood that's railway init β†’ railway up β†’ railway domain. A minute later you have a live URL like my-app-production.up.railway.app. Redeploy any time with β€œpush the latest changes to Railway.”

πŸ’‘
Keep data safe across deploysIf your app stores data in a file (like SQLite), ask the agent to β€œadd a Railway volume and store the database on it” β€” otherwise the file is wiped on every deploy.
πŸŽ‰

You're ready for the workshop.

Terminal set up, agent talking, GitHub connected. Bring your laptop, your charger, and the idea you wrote down when you registered. See you on Saturday, August 29 at 9:00.

Haven't registered yet? β†’

Common questions

Can I use a free Claude or ChatGPT account?

No. Claude Code needs Claude Pro ($20/mo), Max or Team. Codex needs ChatGPT Plus ($20/mo), Pro, Business, Edu or Enterprise. If you have neither, get Claude Pro β€” it's what we demo on β€” and cancel after if you like.

I already pay for ChatGPT Pro. Do I really not need anything else?

Correct. Codex is included in your plan. Install the CLI, choose β€œSign in with ChatGPT”, done. Pro has much higher usage limits than Plus, so you won't hit a wall during the workshop.

Claude Code or Codex β€” which is actually better?

They're close, and both improve monthly. We recommend Claude Code because the demos use it, the undo/rewind experience is excellent, and it's smoother on Windows. If you already have ChatGPT Plus/Pro and don't want a second subscription, Codex is a perfectly good choice.

Can I use iTerm2 / Warp / Terminal.app instead of Ghostty?

Yes. Any modern terminal works. Ghostty is a recommendation, not a requirement.

Should I use WSL instead of native Windows?

For Claude Code: not needed β€” it runs natively in PowerShell. For Codex: WSL is OpenAI's most reliable Windows path; try the native installer first and fall back to WSL if it misbehaves. If you already use WSL, the Mac/Linux instructions apply inside it.

Is auto mode safe?

For workshop exercises and prototypes, yes. Claude edits files and runs commands on its own, but a safety check still stops to ask before risky or irreversible actions. For production repos or sensitive projects, use default or acceptEdits and approve actions individually.

Claude Code won't install on my Mac.

Make sure you're on a recent macOS. If the install script fails, try brew install --cask claude-code. If that fails too, bring it to the workshop β€” we'll sort it out.

Claude Code won't install on Windows.

Make sure you're in PowerShell (not CMD). If irm isn't recognized, try Invoke-RestMethod https://claude.ai/install.ps1 | Invoke-Expression. Close and reopen the terminal after installing. Still stuck? Ask at the workshop.

Do I need to know how to code?

No. You describe what you want in plain English; the AI writes the code. Basic terminal comfort helps β€” that's why this page covers it.

What if I hit rate limits during the workshop?

Type /status inside the agent to check usage. If you're close to the limit, tell us β€” we'll help you keep going.

Do I need Railway?

Only if your app needs a server (logins, a database, saving what users type). Pure front-end apps β€” calculators, trackers that save on the device, portfolio sites β€” are fine on GitHub Pages for free. Step 11 takes five minutes if you decide you need it.

Can I build a mobile app, not just a website?

Yes. We start with a web app because it works on every phone instantly and is easiest to publish. If you want a native iOS/Android app, we'll show the path (Expo / React Native) during the β€œbuild your own thing” block. Bring your phone.