Claude CodeClaude Code 2.1 · macOS, Linux, Windows
1
Curious builder0 XP earned · 300 to level 2
0 daysFinish a lesson to begin
Badge collection0 of 6 unlocked
31 small wins to finish your path

Set up a repository end to end

Everything in this course, applied to the link shortener from lesson 0, in the order you would actually do it.

Lesson 0 promised a repository where Claude Code works the way you want. This is that repository, and every piece of it is something you built alone earlier.

The files

bash

link-shortener/
  CLAUDE.md                        the rules of this project        lesson 10
  .claude/
    settings.json                  permissions and the hook         lessons 16, 18
    commands/bug-hunt.md           the prompt you keep reusing      lesson 12
    skills/release-notes/SKILL.md  a procedure, loaded when needed  lesson 13
    agents/bug-hunter.md           search that stays out of your context   lesson 20
    hooks/hook.py                  the rule that cannot be argued with     lesson 19
  .github/workflows/claude.yml     a reader for unattended work     lesson 24
  .mcp.json                        tools the whole team gets        lesson 25

Eight files. Six of them are under fifteen lines. None of it is framework: it is the conventions you would otherwise repeat, written down where the tool reads them.

The finished repository, and the lesson each piece came from
It knows the projectCLAUDE.md, lesson 10rules by scope, lesson 11It repeats your work/bug-hunt, lesson 12release-notes skill, lesson 13It stays inside rulesdeny rules, lesson 16protected-file hook, lesson 19It keeps out of your waybug-hunter subagent, lesson 20worktrees, lesson 21It works without youheadless fix, lesson 23review in CI, lesson 24It has more toolssqlite over MCP, lesson 25packaged as a plugin, lesson 26link-shortener

The order that works

StepWhy it comes here
1. /init, then cut it downYou need a CLAUDE.md before anything else benefits from one
2. Deny rulesThe cheapest safety in the course, and it takes two lines
3. Work normally for a weekThe next four files should come from real friction, not from a checklist
4. A command for the prompt you retypedBecause you now know which one that is
5. A skill for the procedure you explained twiceSame reason
6. A hook for the rule you cannot afford to loseOnce you know which rule that is
7. Review in CIWhen work starts happening that you did not watch

Doing this in one afternoon produces a configuration that describes a project you imagined. Doing it over a fortnight produces one that describes the project you have.

The bug, one more time

Lesson 23 fixed the collision in four turns with nobody watching, which is the fastest way to do it and not the way you would learn anything. Undo that fix and do it again by hand: plan it in plan mode, read the plan and push back on it, let it edit under accept edits, watch the hook refuse to touch store.py, then open a pull request and read what the review says. Every part of this course shows up in that one small change.

What this course left out

Named so you know it exists, from the same documentation this course was built against.

Left outWhat it is
The Agent SDKClaude Code as a library, in Python or TypeScript. Thirty one pages of its own, and a different job from using the tool
Enterprise deploymentManaged settings, LLM gateways, self-hosted environments, Bedrock, Vertex and Foundry
IDE and platform variantsVS Code, JetBrains, the desktop app, Slack, the web, mobile. The loop is identical; the interface is not
Agent teams in depthExperimental, and off unless you set an environment variable
Cross-session messaging and channelsSessions that pass findings to each other
Output styles in depthChanging how it writes back to you
Sandbox environmentsDev containers and virtual machines, a harder boundary than the Bash sandbox
Monitoring and analyticsOpenTelemetry, usage dashboards, spend limits
Where to go next
The documentation will read like a manual now rather than a wall, which is the point of a course. When you need one of the things above, the page will make sense because you know what it is a variation of.

You are done

You can explain what happens between your prompt and a file changing on disk. You can steer a session, undo it, and keep it from forgetting. You can write down what your project expects so it does not have to be said again, package a procedure, and enforce the one rule that must not be broken. And you can send work off to run without you and know what is standing between it and a mistake.

Try it yourself
  • Fix the collision bug in the shipped project, using plan mode and a hook.
  • Do step 1 and 2 of the order above in a repository you actually work in, today.

Every expert started right here.