# Scoping something small enough to finish

Course: Claude Code from Zero — https://zero2vibecode.com/learn/claude-code
Canonical URL: https://zero2vibecode.com/learn/claude-code/4-1-scoping-a-project

An agent removes the excuse that building takes too long, which means the thing that kills your project is scope. Cut until it is almost boring, then build that.

You now have a tool that writes code faster than you can review it. That does not make big projects easy — it makes starting them easy, which is a different and more dangerous thing.

This level builds one small thing all the way to published. Getting the size right is most of the battle.

## The one-sentence test

Say what it does in one sentence, no conjunctions.

> A page where I paste a list of names and get them back shuffled.

> A script that renames the photos in a folder by the date they were taken.

If your sentence needs "and also", you have two projects. Build the first one.

## Write the not-doing list

Before you build anything, write down what this version does not include. Explicitly. In the README, where you will see it.

> **Not in this version:** accounts, saving between visits, mobile layout, dark mode.

Scope does not creep as a decision. It creeps as five reasonable ideas, each individually a good one, arriving while you are already tired. The list is what lets you say "yes, later" instead of "sure, quickly".

**Put the list in CLAUDE.md too.** 
Your project instructions can carry the boundary: "This is a single-page tool with no backend and no persistence. Do not add either." Now the agent is helping you hold the line instead of quietly suggesting a database.

## Decide what "done" looks like

Not "when it is good". A checkable sentence:

> Done when I can paste ten names, click the button, see them shuffled, and send someone the link.

That is testable by a stranger. "Done when it feels finished" is not testable by anyone, including you, which is why projects with that definition never end.

## Pick something you will actually use

The best first project is one you personally want to exist, however small. Motivation carries you through the middle part, where the novelty is gone and there is a bug that has taken forty minutes.

A tool you will use once a week beats an impressive demo you will never open again.

**What an agent does not shorten.** 
It types faster. It does not make decisions for you, and the middle of a project is decisions: what happens on empty input, what the error says, what the thing is called. Small scope means fewer of those, which is the actual reason small projects finish.

## Your setup before the first turn

Five minutes, once:

1. Make the folder, run `git init`, commit the empty state.
2. Write a README with the one sentence and the not-doing list.
3. Write a short CLAUDE.md: what this is, how to run it, what it must not grow into.
4. Start Claude Code in that folder.

Now every session begins already knowing the shape of the thing. The next lesson is the building.

<Faq>
  
  
</Faq>

## Try it yourself

An idea and a free afternoon. The size you agree to now decides whether anything exists tonight.
