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

Project setup

Project setup is assembling every piece of this course into one repository, applied to the link shortener from the overview, in the order you would build it.

Last updated: 28 Sep, 2026 · Claude Code

The overview 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        the CLAUDE.md lesson
  .claude/
    settings.json                  permissions and the hook         the settings.json and hooks lessons
    commands/bug-hunt.md           the prompt you keep reusing      the slash commands lesson
    skills/release-notes/SKILL.md  a procedure, loaded when needed  the skills lesson
    agents/bug-hunter.md           search that stays out of your context   the subagents lesson
    hooks/hook.py                  the rule that cannot be argued with     the PreToolUse hook lesson
  .github/workflows/claude.yml     a reader for unattended work     the Code Review lesson
  .mcp.json                        tools the whole team gets        the MCP lesson

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 where each file plugs in
read at the startchecked on every tool callcalled on when neededasksanswerevery sessiontool callallowedwhen relevantpull requestYouClaude Codethe agent loopCLAUDE.mdproject rulessettings.jsondeny ruleshook.pyPreToolUselink-shortenershorten.py, store.py/bug-huntcommandrelease-notesskillbug-huntersubagentclaude.ymlreview every PR
Hover or tap a piece to see what it is and which lesson built it.
Trace a request

Pick one to watch it run, step by step.

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

The headless mode lesson fixed the collision in four turns while unattended, which is fast but teaches you little. 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. That unattended run is the course's runnable end-to-end build: the same claude -p command, given the collision bug and pointed at this repository, edits next_code and fixes it, and its failure mode is a tool left out of --allowedTools, where the run does not crash but stops with the blocked call listed under permission_denials for a script to read.

Features this course skipped

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 variantsJetBrains, the desktop app, Slack, the web, mobile. The loop is identical; the interface is not. VS Code is in the installation lesson
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 should now read like a manual. When you need one of the things above, the page will make sense because you know what it is a variation of.

What you can do now

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 work in, today.

Little by little, you're building something great.