Demo, all content is generated
Question

How do I split a feature into prompts so Cursor doesn't build everything at once

Solved · 725 views · asked by adebayo_t · edited

When I ask Cursor for "a dashboard with stats, filters and CSV export" it tries to do all of it and I end up with a mess I can't debug. I know I should "break it into steps" but how small? What does a good step look like?

What I’ve tried

Tried asking for 'step 1' but it still did steps 1–3 because it 'was efficient'.

Comment

3 answers

Marked as helpful by the asker
katja_s · edited

A good step is one thing you can check in the browser and commit. For your dashboard:

  1. Page exists at /dashboard, shows a hardcoded number. (routing works)
  2. Number comes from the database. (data works)
  3. Add the other stats.
  4. One filter (date range), stats react to it.
  5. CSV export of the current filtered data.

Then per step: "Do step 2 only. Stop after it and tell me how to check it." If it does more anyway, reject the change and repeat with "only step 2, nothing else". Commit after each green step.

The trick is that step 1 is almost embarrassingly small. That's on purpose; when step 2 breaks, you know it's the data and not the routing.

Comment
Did it this way, 5 commits, first time a feature of mine was actually finished instead of 'almost working'. adebayo_t · edited
'Stop after it and tell me how to check it' is a great addition, it makes the step concrete. femi_o · edited
leo_prompts · edited

Ask it to split first, then do nothing else:

Break this feature into steps. Each step must be testable in the browser on its own. Do not write code yet.

Comment
Tried this, it made a nice plan, then did all of it anyway when I said 'go'. adebayo_t · edited
Say 'go, step 1 only' not 'go' :) leo_prompts · edited
aiko_n · edited

For UI features, do the layout with fake data first, then connect data. You see the whole screen early and the data part becomes a small, focused step.

Comment