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
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.
Pick one to watch it run, step by step.
The order that works
| Step | Why it comes here |
|---|---|
1. /init, then cut it down | You need a CLAUDE.md before anything else benefits from one |
| 2. Deny rules | The cheapest safety in the course, and it takes two lines |
| 3. Work normally for a week | The next four files should come from real friction, not from a checklist |
| 4. A command for the prompt you retyped | Because you now know which one that is |
| 5. A skill for the procedure you explained twice | Same reason |
| 6. A hook for the rule you cannot afford to lose | Once you know which rule that is |
| 7. Review in CI | When 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 out | What it is |
|---|---|
| The Agent SDK | Claude Code as a library, in Python or TypeScript. Thirty one pages of its own, and a different job from using the tool |
| Enterprise deployment | Managed settings, LLM gateways, self-hosted environments, Bedrock, Vertex and Foundry |
| IDE and platform variants | JetBrains, 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 depth | Experimental, and off unless you set an environment variable |
| Cross-session messaging and channels | Sessions that pass findings to each other |
| Output styles in depth | Changing how it writes back to you |
| Sandbox environments | Dev containers and virtual machines, a harder boundary than the Bash sandbox |
| Monitoring and analytics | OpenTelemetry, usage dashboards, spend limits |
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.
Related
- Previous: Models, cost and fast mode
- Reference: Claude Code docs
- 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.