Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions site/about/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>About Agent Looper — dancingteeth fix-until-green harness</title>
<meta name="description" content="About Agent Looper: MIT fix-until-green harness by Paul Zgordan (dancingteeth). Frozen GOAL.md, determined verify.sh, fresh workers, optional reviewGate.">
<meta name="description" content="About Agent Looper: MIT fix-until-green harness by Paul Zgordan (dancingteeth). Frozen GOAL.md, deterministic verify.sh, fresh workers, optional reviewGate.">
<link rel="canonical" href="https://looper.dancingteeth.net/about/">
<link rel="describedby" href="https://looper.dancingteeth.net/llms.txt">
<link rel="alternate" type="text/markdown" href="https://looper.dancingteeth.net/about/index.md">
Expand Down Expand Up @@ -37,7 +37,7 @@
<main class="prose">
<div class="wrap">
<h1>About Agent Looper</h1>
<p>Agent Looper (<code>@dancingteeth/agent-looper</code>, CLI <code>agent-loop</code>) is an open-source fix-until-green harness for people who already loop in a coding agent and are tired of being the verify step. Your agent writes a frozen <code>GOAL.md</code> and a determined check. A fresh worker implements toward that goal. Shell verify is the exit. An optional judge (<code>reviewGate</code>) only sends blockers back into the loop.</p>
<p>Agent Looper (<code>@dancingteeth/agent-looper</code>, CLI <code>agent-loop</code>) is an open-source fix-until-green harness for people who already loop in a coding agent and are tired of being the verify step. Your agent writes a frozen <code>GOAL.md</code> and a deterministic check. A fresh worker implements toward that goal. Shell verify is the exit. An optional judge (<code>reviewGate</code>) only sends blockers back into the loop.</p>
<p>The project is MIT-licensed, inspectable, and runtime-agnostic: Cursor, Cline, OpenCode, Pi, Codex, DSH, Muse, and Claude. Models stay whoever you already pay. What you own is the loop — frozen goal, measurable <code>verify.sh</code>, sparse <code>REVIEWS.md</code> / <code>AGENTS.md</code>, and orchestration that keeps workers fresh and spend bounded.</p>
<p>Agent Looper is made by Paul Zgordan (dancingteeth), who also writes at The Vacuum Cleaner Gets Smart and ships other tools under the dancingteeth name. This site is the product landing for the harness, not a company brochure.</p>
<ul>
Expand Down
2 changes: 1 addition & 1 deletion site/about/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# About Agent Looper

Agent Looper (`@dancingteeth/agent-looper`, CLI `agent-loop`) is an open-source fix-until-green harness for people who already loop in a coding agent and are tired of being the verify step. Your agent writes a frozen `GOAL.md` and a determined check. A fresh worker implements toward that goal. Shell verify is the exit. An optional judge (`reviewGate`) only sends blockers back into the loop.
Agent Looper (`@dancingteeth/agent-looper`, CLI `agent-loop`) is an open-source fix-until-green harness for people who already loop in a coding agent and are tired of being the verify step. Your agent writes a frozen `GOAL.md` and a deterministic check. A fresh worker implements toward that goal. Shell verify is the exit. An optional judge (`reviewGate`) only sends blockers back into the loop.

The project is MIT-licensed, inspectable, and runtime-agnostic: Cursor, Cline, OpenCode, Pi, Codex, DSH, Muse, and Claude. Models stay whoever you already pay. What you own is the loop — frozen goal, measurable `verify.sh`, sparse `REVIEWS.md` / `AGENTS.md`, and orchestration that keeps workers fresh and spend bounded.

Expand Down
2 changes: 1 addition & 1 deletion site/harnesses/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ <h3>How to use</h3>
<li>From the Grok Bot session, start the harness: <code>pnpm exec agent-loop run .cursor/loops/my-task --review-gate</code></li>
<li>Worker and judge come from <code>loop.json</code> and what's installed. There is no <code>--runtime grok</code>.</li>
</ol>
<p>The harness still owns the determined check and a fresh worker each iteration. Grok Bot starts that loop; it does not implement the goal itself.</p>
<p>The harness still owns the deterministic check and a fresh worker each iteration. Grok Bot starts that loop; it does not implement the goal itself.</p>
</div>
</section>

Expand Down
2 changes: 1 addition & 1 deletion site/harnesses/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Grok Bot is the Grok operator that runs Agent Looper on the user's computer. It
2. From the Grok Bot session, start the harness: `pnpm exec agent-loop run .cursor/loops/my-task --review-gate`
3. Worker and judge come from `loop.json` and what's installed. There is no `--runtime grok`.

The harness still owns the determined check and a fresh worker each iteration. Grok Bot starts that loop; it does not implement the goal itself.
The harness still owns the deterministic check and a fresh worker each iteration. Grok Bot starts that loop; it does not implement the goal itself.

## Runtimes

Expand Down
23 changes: 12 additions & 11 deletions site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Agent Looper — a fix-until-green harness for coding agents</title>
<meta name="description" content="Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a determined check, then a fresh worker loops until that check passes — with a budget that actually stops.">
<meta name="description" content="Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a deterministic check, then a fresh worker loops until that check passes — with a budget that actually stops.">
<link rel="canonical" href="https://looper.dancingteeth.net/">
<link rel="describedby" href="https://looper.dancingteeth.net/llms.txt">
<link rel="alternate" type="text/markdown" title="Markdown" href="https://looper.dancingteeth.net/index.md">
Expand All @@ -13,12 +13,12 @@
<meta property="og:site_name" content="Agent Looper">
<meta property="og:url" content="https://looper.dancingteeth.net/">
<meta property="og:title" content="Agent Looper — a fix-until-green harness for coding agents">
<meta property="og:description" content="Your coding agent writes a frozen goal and a determined check. A fresh worker loops until that check passes. You are not the verify step.">
<meta property="og:description" content="Your coding agent writes a frozen goal and a deterministic check. A fresh worker loops until that check passes. You are not the verify step.">
<meta property="og:image" content="https://looper.dancingteeth.net/og.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@dancingteeth">
<meta name="twitter:title" content="Agent Looper — a fix-until-green harness for coding agents">
<meta name="twitter:description" content="Open-source fix-until-green harness. Frozen goal, determined check, fresh worker each round, budget that stops.">
<meta name="twitter:description" content="Open-source fix-until-green harness. Frozen goal, deterministic check, fresh worker each round, budget that stops.">
<meta name="twitter:image" content="https://looper.dancingteeth.net/og.png">
<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
Expand All @@ -41,7 +41,7 @@
"@id": "https://looper.dancingteeth.net/#app",
"name": "Agent Looper",
"alternateName": ["agent-looper", "agent-loop", "@dancingteeth/agent-looper"],
"description": "Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a determined check, then a fresh worker loops until that check passes — with a budget that actually stops.",
"description": "Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a deterministic check, then a fresh worker loops until that check passes — with a budget that actually stops.",
"url": "https://looper.dancingteeth.net/",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "macOS, Linux, Windows",
Expand Down Expand Up @@ -115,7 +115,7 @@
"name": "How does Agent Looper keep cost down for indie builders?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Agent Looper is how indie builders get to handoff or production-ready without burning a frontier model on every loop. Cheap harness subscriptions you already have, a worker/judge pair that minmaxes cost, and a budget that actually stops."
"text": "Agent Looper is how indie builders get to handoff or production-ready without burning a frontier model on every loop. Cheap harness subscriptions you already have, a worker/judge pair that minmaxes cost, and a budget that actually stops. The check is the finish line — keep it honest. The judge is residual, not a production gate."
}
},
{
Expand Down Expand Up @@ -172,7 +172,7 @@
"@type": "HowTo",
"@id": "https://looper.dancingteeth.net/#install",
"name": "Install Agent Looper",
"description": "Add Agent Looper to a repo, freeze a goal and a determined check, then run the loop.",
"description": "Add Agent Looper to a repo, freeze a goal and a deterministic check, then run the loop.",
"url": "https://looper.dancingteeth.net/#install",
"totalTime": "PT5M",
"tool": {
Expand Down Expand Up @@ -242,15 +242,15 @@
<p class="eyebrow">@dancingteeth/agent-looper · <code>agent-loop</code></p>
<h1>Finally, you're not the verify step.</h1>
<p class="definition">
Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a determined check, then a fresh worker loops until that check passes — with a budget that actually stops.
Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a deterministic check, then a fresh worker loops until that check passes — with a budget that actually stops.
</p>
<p class="lead">
You heard looping beats prompting. You install Agent Looper. You tell your agent you just want the feature.
It writes the goal, writes a determined check, and runs until that check passes. No hallucinated “done.”
It writes the goal, writes a deterministic check, and runs until that check passes. No hallucinated “done.”
</p>
<ul class="promise">
<li>It actually works</li>
<li>Determined check</li>
<li>Deterministic check</li>
<li>You don't babysit</li>
</ul>
<div class="hero-cta">
Expand Down Expand Up @@ -342,6 +342,7 @@ <h2>How does Agent Looper keep cost down for indie builders?</h2>
<p>
Agent Looper is how indie builders get to handoff or production-ready without burning a frontier model on every loop.
Cheap harness subscriptions you already have, a worker/judge pair that minmaxes cost, and a budget that actually stops.
The check is the finish line — keep it honest. The judge is residual, not a production gate.
</p>
</article>
<article class="tui-answer tui-answer--escalation">
Expand Down Expand Up @@ -391,7 +392,7 @@ <h2>What do the spend numbers mean?</h2>
<div class="wrap">
<h2>How it works</h2>
<p class="section-intro">
Your agent writes <code>GOAL.md</code> and a determined check that the feature really works.
Your agent writes <code>GOAL.md</code> and a deterministic check that the feature really works.
A fresh worker loops until that check passes — optional judge / <code>reviewGate</code> only on serious findings.
Progress lives in git and files, not chat memory.
</p>
Expand All @@ -402,7 +403,7 @@ <h3>Worker</h3>
</div>
<div class="card card--verify">
<h3>Verifier</h3>
<p>A determined check. Green means it really works. The model doesn't get to hallucinate done. If something's wrong, the mistake is in the goal or the script.</p>
<p>A deterministic check. Green is only as good as the check you froze. The model doesn't get to hallucinate done. If something's wrong, the mistake is in the goal or the script.</p>
</div>
<div class="card card--judge">
<h3>Judge <span class="optional">optional</span></h3>
Expand Down
6 changes: 3 additions & 3 deletions site/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Agent Looper

> Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a determined check, then a fresh worker loops until that check passes — with a budget that actually stops.
> Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a deterministic check, then a fresh worker loops until that check passes — with a budget that actually stops.

You heard looping beats prompting. You install Agent Looper. You tell your agent you just want the feature. It writes the goal, writes a determined check, and runs until that check passes. No hallucinated “done.”
You heard looping beats prompting. You install Agent Looper. You tell your agent you just want the feature. It writes the goal, writes a deterministic check, and runs until that check passes. No hallucinated “done.”

npm: `@dancingteeth/agent-looper` · CLI: `agent-loop` · site: https://looper.dancingteeth.net/

Expand All @@ -16,7 +16,7 @@ Named presets: minmax (efficiency — cheap capable worker, strongest included j

## How does Agent Looper keep cost down for indie builders?

Agent Looper is how indie builders get to handoff or production-ready without burning a frontier model on every loop. Cheap harness subscriptions you already have, a worker/judge pair that minmaxes cost, and a budget that actually stops.
Agent Looper is how indie builders get to handoff or production-ready without burning a frontier model on every loop. Cheap harness subscriptions you already have, a worker/judge pair that minmaxes cost, and a budget that actually stops. The check is the finish line — keep it honest. The judge is residual, not a production gate.

## What happens if Agent Looper's worker is stuck?

Expand Down
4 changes: 2 additions & 2 deletions site/llms.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Agent Looper

> Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a determined check, then a fresh worker loops until that check passes — with a budget that actually stops.
> Agent Looper is an open-source fix-until-green harness: your coding agent writes a frozen goal and a deterministic check, then a fresh worker loops until that check passes — with a budget that actually stops.

When to use Agent Looper: a human wants a feature finished without babysitting Composer; the finish line can be a shell check (`verify.sh`, tests, a metric script); you already pay for Cursor, Cline, OpenCode, Pi, Codex, DSH, Muse, or Claude; you want a cheap worker and a stronger judge, a budget that stops, and progress in git instead of an accumulating chat thread.

When not to use Agent Looper: there is no determined check (pure taste with no script or vision gate); you need a team-ops factory, shared org cloud, or multi-repo orchestration; you want the model to grade itself as “done.”
When not to use Agent Looper: there is no deterministic check (pure taste with no script or vision gate); you need a team-ops factory, shared org cloud, or multi-repo orchestration; you want the model to grade itself as “done.”

How an agent should call it: install `@dancingteeth/agent-looper`, ask the human what they want, then implement the feature with Agent Looper (set up the loop, write GOAL.md and verify.sh, run until green). Or from the terminal: `pnpm exec agent-loop-setup` then `pnpm exec agent-loop-prompt --out .cursor/loops/<task>`, then `pnpm exec agent-loop run .cursor/loops/<task> --runtime <cursor|cline|opencode|pi|codex|dsh|muse|claude>`. Optional `--review-gate` re-opens the loop only on blocking review findings. CLI binaries: `agent-loop`, `agent-loop-prompt`. Current npm: **0.5.0**.

Expand Down
Loading