# Before You Begin

> **Summary — what this page covers**
> The pre-flight page. It states clearly that **Claude Code requires a paid plan** (Pro
> minimum — it is NOT on the Free tier), explains which access path to pick and why, and gives
> the machine prerequisites, install/auth steps, and the BookTracker clone. Everything here must
> be done **before 9:00 AM** so Section 1 starts with everyone ready.

Work through this page **before the workshop starts**. It takes 15–20 minutes if your machine is
clean. The room has a TA for install friction at 8:30 AM, but plan to arrive with the
[readiness check](#youre-ready-when) already green — we open Section 1 by writing code, not by
installing tools.

## Plan & access requirements

> Claude Code is **not** available on the Claude Free plan. Every Day 1 lab needs paid access.
> Plan for at least Claude Pro.

| Access path | Cost | Notes |
|---|---|---|
| Claude Pro | ~$20/month | Minimum paid tier for Claude Code. **Recommended for participants.** Plenty for a full workshop day. |
| Claude Max | $100 or $200/month | Higher usage limits for heavy, all-day use. Choose this if you already hit Pro limits regularly. |
| Anthropic API key (Console) | Pay-as-you-go | Console billing, separate from any subscription. New accounts get a small free trial credit. This is the **Day 2** path; you can use it today too. |

**What "Free" does and doesn't cover.** The Claude Free plan covers Claude.ai — web chat,
Projects, and Artifacts — but it does **not** include Claude Code. There is no free tier for the
agent you'll run today, so a Pro (or Max) subscription, or an API key, is required.

**One usage pool, one clock.** Your subscription usage is a **shared pool** across Claude.ai chat,
Claude Code, and the desktop apps, measured on a **rolling 5-hour window**. Practically: heavy
web-chat use earlier in the day can eat into the budget you have for Claude Code during the labs.
For the smoothest day, keep casual chatting light until the labs are done.

**Which should I pick for today?** If you're new, **Claude Pro with browser sign-in is the
recommended path** — it's the simplest to set up and comfortably covers the day. Reach for Max
only if you're a heavy all-day user, and use an API key only if you prefer pay-as-you-go or want
to warm up the Day 2 workflow early.

## Machine prerequisites

Claude Code is distributed as an npm package and drives your real toolchain, so you need a working
.NET + Git environment plus Node to install the CLI.

- [ ] **Node.js 18+** — Claude Code installs via npm, so Node is required. Verify with `node --version`.
- [ ] **.NET 10 SDK** — BookTracker is an ASP.NET Core 10 app. Verify with `dotnet --version`.
- [ ] **Git** — for cloning BookTracker and committing each lab's deliverable. Verify with `git --version`.
- [ ] **Windows users: WSL2** — required for full Claude Code features (hooks, subagents). See below.
- [ ] **VS Code** — used in Section 3 for IDE integration.

> **Windows: set up WSL2 first.** Open **PowerShell as Administrator** and run `wsl --install`,
> then reboot. This installs the Windows Subsystem for Linux (Ubuntu by default). From then on,
> run **all** workshop commands — `node`, `dotnet`, `git`, and `claude` — **inside the WSL2
> (Ubuntu) terminal**, not in PowerShell or CMD. Hooks and subagents (Section 2) rely on the Linux
> shell, so this isn't optional for the full experience. **macOS and Linux users:** use your normal
> terminal — no WSL needed.

## Install & authenticate Claude Code

```bash
npm install -g @anthropic-ai/claude-code
claude --version          # verify the install
claude                    # start Claude Code; first run prompts you to authenticate
```

**Two ways to authenticate** — pick one:

- **Browser sign-in (recommended today).** Running `claude` opens your browser for OAuth; sign in
  with your Claude.ai **Pro/Max subscription**. No keys to manage, and it's the fastest path for
  the labs.
- **API key.** Export a Console key instead — this is **pay-as-you-go and billed separately** from
  any subscription, and it's the path you'll use on Day 2:

  ```bash
  export ANTHROPIC_API_KEY=sk-ant-...
  ```

**Smoke test.** Confirm the agent actually answers before you walk into the room:

```bash
claude "What is today's date?"
```

If you get a coherent reply, you're authenticated and ready.

## Clone BookTracker

BookTracker is the ASP.NET Core sample app every Day 1 lab builds on — you clone it once and
evolve it across all four labs. Get it on disk and confirm it compiles now, so a slow first build
doesn't cost you lab time later.

```bash
git clone https://github.com/intelligentlydev/workshop-booktracker
cd workshop-booktracker
dotnet build              # confirm it compiles
```

For a tour of the solution structure and stack before we start, see
[The BookTracker App](02-booktracker-app.md).

## You're ready when…

- [ ] `node --version`, `dotnet --version`, and `git --version` all return versions
- [ ] (Windows) you're working inside the **WSL2** terminal
- [ ] `claude --version` returns a version
- [ ] `claude "What is today's date?"` returns a sensible answer (you're authenticated)
- [ ] BookTracker is cloned and `dotnet build` succeeds

If every box is checked, you're set for Section 1. If you're stuck on one, flag a TA at 8:30 AM
rather than during the first lab.
