Skip to content

Releases: loop-js/loop.js

Release list

v0.1.0-beta

v0.1.0-beta Pre-release
Pre-release

Choose a tag to compare

@shitianfang shitianfang released this 10 Jul 13:07

v0.1.0-beta — first release

The agent loop as an API — embed it in your product, not in your terminal.

loop.js is a thin, opinionated TypeScript runtime for autonomous agent loops, built on the
Claude Agent SDK. You state a Goal; the engine drives Rounds until a separate,
read-only Verify agent judges the bar met — and only that verdict, never the worker's
own claim, settles the loop.

import { Loop } from "@loop.js/core"

const loop = Loop.define({
  goal: "Build a playable 2D platformer in ./game",
  limits: { rounds: 10, usd: 5 },
})

const exit = await loop.run().done()
// { settled: true, verdict } — a judge said done, not the worker

What ships in 0.1.0-beta

  • @loop.js/core — the engine, a typed event stream, and the loop CLI
    (run / status / cron)
  • @loop.js/create — the scaffolder behind npm create @loop.js
  • A separate judge — the Verify agent runs in its own session with read-only
    permissions; a "not yet" carries a mandatory reason that feeds the next Round
  • State on disk — fresh context every Round, memory read back from the Workspace;
    survives crashes, restarts, and weeks on a schedule
  • Declared guardsrounds / usd / per-Round timeout; every ending is a typed
    Exit with its own process exit code
  • Real schedulersloop cron installs into crontab / launchd / Task Scheduler, or
    Modal in the cloud; no daemon, ever

Get started

npm create @loop.js@latest my-loop
cd my-loop && npm install
# edit loop.config.ts — state your goal
loop run

📖 Docs: https://loop-js.mintlify.site/ · Why not /goal, /loop, or /schedule?
https://loop-js.mintlify.site/why-loop-js

This is a beta: the API surface (Loop.define / loop.run / typed events) is settling but
not frozen. Issues and design discussion welcome —
https://github.com/loop-js/loop.js/issues.