Describe a job once. It runs until it is actually done.
You have a job you redo every week and are fussy about — a competitor roundup, a lead list, a landing page, a research brief. Write down what you want and how anyone would tell it is good, in one plain text file.
loopsmith puts an AI to work on it, checks the result, sends it back when it falls short, and stops when it passes. It can run on a schedule for weeks without you.
The rule that makes it safe to walk away: the model never gets to say “done”. A deterministic checker reads the actual files and decides — and it can revoke, so a goal that stops being true stops being satisfied.
What it is
A single binary. A loop is one config file — YAML or Markdown, both the same model — describing what you want, what proves it, and every way the run is allowed to end.
- The gate is compiled code
- It is the only thing that may mark a goal satisfied, it reads the files rather than the model’s opinion of them, and it can take a verdict back.
- Judges cannot mark their own work
- A judge running on the same provider as the work it is grading is refused, not warned about.
- Real parallelism, derived
- The schedule comes from the dependencies you declare: waves, a critical path, and a predicted speedup, all before anything runs.
- Crash-resumable
- Every iteration is checkpointed and written to an append-only ledger, so a run that dies at 4am resumes rather than restarts.
- Bounded on purpose
- Iteration, cost, token and wall-clock ceilings, plus a no-progress cap for the loop that is still busy and no longer changing anything.
- Bring your own model
- Every provider is a command template, so any agent CLI already on your machine can serve a loop without a code change.
Install
Pick whichever package manager you already have. All of them put a loopsmith on your PATH.
# crates.io — builds from source
cargo install loopsmith
# npm — downloads a prebuilt binary
npm install -g @bitphill/loopsmith
# PyPI — downloads a prebuilt binary on first run
pip install loopsmith-cli
# Homebrew
brew install bitphill/loopsmith/loopsmith
Then pick a front end. All three build the same config file.
loopsmith --web # a browser, bound to 127.0.0.1 and nothing else
loopsmith --guided # question and answer, in the terminal — works over SSH
loopsmith loop new -p ~/loops/my-loop
Examples
Thirteen working loops ship with the binary, in both formats. Loading one fills in every section, which is the quickest way to see what a validation or a stop gate looks like in practice.
-
Research brief
Gathers sources, drafts a brief, and refuses it until every claim carries a citation a script can check.
-
Refactor
Two builders working side by side on one module, with the test suite as the gate and edits to the tests forbidden.
-
Landing page
Builds a static page and holds it until it is accessible, fast, and actually deploys.
-
Lead list
Qualifies leads against written criteria and stops when the list is long enough and clean enough.
Read more
-
Code wiki
How it is built: the execution engine, the gate, the config schema, the memory store.
-
README
Install, a five-minute example, scheduling, and portability.
-
Start from nothing
The same thing without jargon, for someone who has never run a command before.
-
How to use it
Every section of a config, what it is for, and what goes wrong when it is skipped.