Back to loops
Testingmanual triggermarkdown-export Hardened

Fix TypeScript Until Clean

A TypeScript-specific loop for strict repositories. It prevents the agent from using `any`, disabling strictness, or ignoring compiler failures.

Use loop copies the kickoff prompt. Copy Markdown and Download loop include the complete Markdown page with context, source attribution, anchors, and guardrails. Cursor / Claude Code buttons prepare the shorter kickoff prompt only.

Run shape

Supported agents

CursorClaude CodeCodex

Goal

Make TypeScript validation pass without lowering type safety.

Feedback gate

pnpm tsc --noEmit

Stop condition

TypeScript check exits with code 0.

Do not weaken, skip, delete, or rewrite the validation command to force success.
Do not claim completion until the stated exit condition is actually satisfied.
If blocked, report the blocker, evidence, and next safest action instead of gaming the metric.
Required context

Give the agent these inputs before it starts the loop. This keeps discovery bounded and prevents vague retries.

Typecheck command.
Strictness policy.
Files touched by the current task.
Required tools

The loop assumes these commands or integrations are available. Missing tools should be reported as blockers, not ignored.

typescript
project typecheck command
How to run

Two separate pieces: the kickoff prompt starts the loop, while the downloaded Markdown carries the complete reference page.

1. Copy or download

Use the kickoff for a fast agent run. Download the full Markdown when you need source, context, and attribution in one file.

2. Paste into the agent

Start a fresh agent session in the target repo and provide the requested project context if the loop asks for it.

3. Let it self-pace

The agent should act, check evidence, retry only when the gate fails, and stop at the stated exit condition.

manual triggerTesting Step flow
Manual start
Run typecheck
Group errors
Fix type-safe causes
Re-run typecheck
Feedback gate
TypeScript check exits with code 0.
not done → return to next actiondone → exit condition met
Manual startRun typecheckGroup errorsFix type-safe causesRe-run typecheckFeedback gatedoneTypeScript check exits with code 0.not done
Action checklist

The diagram shows the order. This checklist keeps only the action, command, and failure handling needed during a real pass.

1. Run typecheck

Capture all current TypeScript errors.

pnpm tsc --noEmit

2. Group errors

Cluster errors by root cause instead of fixing line-by-line blindly.

3. Fix type-safe causes

Prefer precise types, existing interfaces, and narrow helpers over `any`.

4. Re-run typecheck

Repeat until clean.

pnpm tsc --noEmit
Kickoff prompt

This is the text copied by Use loop. It is intentionally shorter than the Markdown export.

Run the TypeScript check, group errors by root cause, fix them with strict types, and repeat until the command exits cleanly.
Goal: Make TypeScript validation pass without lowering type safety.
Check command: pnpm tsc --noEmit
Exit condition: TypeScript check exits with code 0.
Max iterations: 8
Guardrails:
- Do not weaken, skip, delete, or rewrite the validation command to force success.
- Do not claim completion until the stated exit condition is actually satisfied.
- If blocked, report the blocker, evidence, and next safest action instead of gaming the metric.
- Do not add `any`, `// @ts-ignore`, or disable strict compiler options unless explicitly approved.

Quality

89/100

Safety

90/100

Expected output

Clean typecheck output and a summary of type-safe fixes.

Related loops

Browse all
Testingmanual trigger Hardened

Build Until Passing

Run the production build, fix compile/runtime bundling failures, and stop only when the build succeeds.

CursorClaude CodeCodex
buildproductionvitenextjs

Kickoff preview

Run the production build, fix root causes while preserving project architecture, and repeat until the build passes.
Goal: Make the production build succeed for the target runtime.
Check command: pnpm build
Exit condition: The production build command exits successfully.
Max iterations: 6
Guardrails:
- Do not weaken, skip, delete, or rewrite the validation command to force success.
- Do not claim completion until the stated exit condition is actually satisfied.
- If blocked, report the blocker, evidence, and next safest action instead of gaming the metric.
- Do not hide build failures with dynamic imports or environment checks unless that is the correct runtime boundary.
View
Testingmanual trigger Hardened

Test Until Green

Run the project test suite, fix root causes, and keep iterating until the selected test command passes.

CursorClaude CodeCodexGemini CLIOpenCode
testsregressionfeedback-gate

Kickoff preview

Run the project tests, inspect failures, fix the smallest root cause, and repeat until the test command passes. Do not weaken the tests or change the check command.
Goal: Make the selected test command pass without weakening coverage.
Check command: pnpm test
Exit condition: The test command exits successfully with no failing tests.
Max iterations: 8
Guardrails:
- Do not weaken, skip, delete, or rewrite the validation command to force success.
- Do not claim completion until the stated exit condition is actually satisfied.
- If blocked, report the blocker, evidence, and next safest action instead of gaming the metric.
- Do not delete, skip, or mark tests as todo unless explicitly requested.
View
Testingevent trigger Hardened

Post-Edit Test Guard

After code edits, detect the affected surface and run the closest relevant validation before declaring completion.

CursorClaude CodeCodex
post-edittestsguard

Kickoff preview

After every code edit, list changed files, choose the closest meaningful validation, run it, and report evidence before claiming completion.
Goal: Run the closest meaningful verification after edits and report evidence.
Check command: git diff --name-only HEAD
Exit condition: Relevant validation has been run and either passes or failures are reported with evidence.
Max iterations: 4
Guardrails:
- Do not weaken, skip, delete, or rewrite the validation command to force success.
- Do not claim completion until the stated exit condition is actually satisfied.
- If blocked, report the blocker, evidence, and next safest action instead of gaming the metric.
- Do not say “not run” without explaining why no meaningful check exists.
View
CImanual trigger Hardened

Ship PR Until Green

Implement a scoped change, open or update a pull request, inspect CI, and continue until all required PR checks pass.

CursorClaude CodeCodex
pull-requestcigithub-actionsverification

Kickoff preview

Take this branch to a green pull request. Implement the requested change, run local verification, open or update the PR, run `gh pr checks`, inspect failures, fix root causes, and repeat until every required check passes or you hit the iteration cap.
Goal: Open or update a pull request and stop only when all required PR checks are green.
Check command: gh pr checks
Exit condition: All required pull request checks are successful and the PR is ready for review or merge.
Max iterations: 10
Guardrails:
- Do not weaken, skip, delete, or rewrite the validation command to force success.
- Do not claim completion until the stated exit condition is actually satisfied.
- If blocked, report the blocker, evidence, and next safest action instead of gaming the metric.
- Do not disable required checks, edit loops to skip jobs, or remove tests to make CI green.
- Do not merge the PR unless the user explicitly asked for merge authority.
View