Keep Loops RunningLoops is going viral and we need your help to keep the project free and alive.

loops!
BrowseSign in
Back to loops
Testing
manual
Claude CodeCursor

Autoloop TDD

Test-first loop: write a failing test, implement the minimum code to pass, refactor, and repeat.

1.6k views1.6k installs

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/autoloop-tdd/ — no hooks required. How it works

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 “Autoloop TDD” 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
Write failing test
Implement minimum code
Verify green
Refactor
Target behavior covered by tests and full suite passes
Rendering diagram…
Steps
What the agent does on each pass.

1. Write failing test

Write a focused test for the next behavior. Run it and confirm it fails for the right reason.

npm test -- --testPathPattern=<new-test>

2. Implement minimum code

Write the smallest implementation that makes the new test pass. No extra features.

3. Verify green

Run the new test and full suite to confirm everything passes.

npm test

4. Refactor

Clean up duplication and naming while keeping tests green. Run tests after each refactor.

npm test
Kickoff prompt
Copy this into your coding agent to start the loop.
Start the "Autoloop TDD" loop.

Goal: implement the target behavior test-first with a green suite
Max iterations: 12
Between iterations run: npm test
Exit when: target behavior is covered and all tests pass

Step 1: Write a failing test for the next behavior, implement the minimum code to pass, refactor, and 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

Testing
event
Hardened
2.2k1.9k
Hook that runs tests before git commit commands to block commits when the suite is red.

Install and run the "Pre-Commit Guard" loop. Goal: block git commits when tests are failing. Between iterations run: npm test Exit when: tests exit 0 before each commit. Step 1: Before any git commit, run tests. Fix failures before committing.

CursorClaude Code
hooks
testing
git
pre-commit
by loops!
View
Testing
manual
Hardened
2k1.1k
Run failing tests repeatedly, classify each failure as flaky or real, and fix only confirmed regressions.

Start the "Flaky Test Triage" loop. Goal: classify failing tests as flaky vs real and fix only real regressions Max iterations: 5 Between iterations run: npm test -- --testPathPattern=<failing-suite> Exit when: every failure is classified and real regressions are fixed or explicitly deferred Step 1: Run the failing suite multiple times. Classify each failure, fix real ones, and document flaky behavior. 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
testing
flaky
triage
by loops!
View
Testing
manual
Hardened
1.4k1.7k
When implementation claims done, a separate verifier pass runs build, lint, and tests with no access to the implementer's rationale.

Start the "Independent Verifier Pass" loop. Goal: build, lint, and tests pass under independent verification Max iterations: 8 Between iterations run: npm run build && npm run lint && npm test Exit when: all verifier commands exit 0 Step 1: Run build, lint, and tests as a verifier. Trust only command output, not prior claims. 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
verification
testing
letitloop
by loops!
View