loops!
BrowseSign in
Back to loops
Testing
manual
Cursor

Format Until Clean

Run the formatter, fix any remaining style issues, and loop until the codebase formats cleanly with no diffs.

11 copies · 56 views

by loops!

Use loop copies the kickoff. Share copies the loop link. Open in Cursor / Claude Code only pre-fill that prompt — they do not install hook files. Download loop saves a README and kickoff into .cursor/loops/format-until-clean/ — no hooks required. Full install guide

Sign in to save
Guardrails
Hardened
Anti-gaming rules
Rules the agent must follow so it cannot cheat the exit condition.
  • Do not modify the check command or exit criteria to force success
  • Do not skip, disable, or bypass checks to pass the exit condition
  • If stuck after several iterations, stop and report blockers instead of gaming metrics
  • Do not weaken, delete, or skip tests to make the suite pass
  • Do not replace real assertions with trivial always-pass tests
  • Prefer fixing production code over patching tests to go green
How to run this loop
Prompt only
Run “Format Until Clean” in your agent
Deeplinks and “Open in Cursor” only paste the kickoff prompt. They do not install hook files — your agent cannot tell whether files are on disk until you add them yourself.

Two separate pieces

  • Kickoff prompt — tells the agent the goal, check command, exit condition, and how to self-pace between passes.
  1. 1

    Copy or open the kickoff prompt

    Click Use loop to copy the kickoff into your clipboard. Open in Cursor and Open in Claude Code only open the agent with that prompt — they do not configure automation for you.

  2. 2

    Paste into your coding agent

    Start a chat in Cursor, Claude Code, Codex, or any agent. Paste the kickoff. The prompt includes the goal, iteration limit, shell check, and first step.

  3. 3

    Agent self-paces until done

    The agent runs the loop: act → run check command → read output → repeat until the exit condition is met or max iterations is reached. No install step is required for prompt-only loops.

Full guide with Cursor /loop notes: How to install loops

manual trigger
Testing
Manual start
Run formatter
Check diff
Confirm clean
Formatter produces no remaining diff
Rendering diagram…
Steps
What the agent does on each pass.

1. Run formatter

Run the project formatter (prettier, biome, etc.).

npm run format

2. Check diff

If formatting changed files, review diff for unintended edits. Fix manual style issues formatter missed.

3. Confirm clean

Re-run formatter and confirm working tree is stable.

npm run format && git diff --quiet
Kickoff prompt
Copy this into your coding agent to start the loop.
Start the "Format Until Clean" loop.

Goal: formatter runs cleanly with no remaining diff
Max iterations: 5
Between iterations run: npm run format
Exit when: format command succeeds and git diff is empty

Step 1: Run the formatter. Fix any issues it cannot auto-fix, then repeat.

Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.

Related loops

Review
manual
83 copies
After implementation, run a cleanup pass: remove debug code, tighten naming, delete dead branches, and align with project conventions.

Start the "De-Sloppify Pass" loop. Goal: recent changes are clean, minimal, and convention-aligned Max iterations: 4 Between iterations run: npm run lint && npm test Exit when: review finds no slop and checks pass Step 1: Review the diff for debug code, dead branches, and naming issues. Fix them with minimal diffs. Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.

Claude CodeCursor
review
quality
cleanup
by loops!
View
Testing
manual
Hardened
32 copies
Run the production build, fix compile and bundling errors, and loop until the build succeeds.

Start the "Build Until Green" loop. Goal: production build succeeds Max iterations: 10 Between iterations run: npm run build Exit when: npm run build exits 0 Step 1: Run the build. If it fails, fix the first error, then repeat until green. Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.

CursorClaude Code
build
compile
ci
by loops!
View
Testing
manual
Hardened
32 copies
Add focused tests until coverage meets your threshold (e.g. 80%), without changing production behavior unnecessarily.

Start the "Coverage Until Threshold" loop. Goal: coverage meets the target threshold (default 80%) with all tests passing Max iterations: 12 Between iterations run: npm test -- --coverage Exit when: coverage threshold is met and tests exit 0 Step 1: Run coverage. Add focused tests for the biggest uncovered gaps, then repeat. Self-pace this loop. After each iteration, run the check command, read the output, and only continue if the exit condition is not met. Stop when the exit condition passes or max iterations is reached. Give a short status update each pass.

Claude CodeCursor
coverage
testing
quality
by loops!
View