@kevinzhangnothing/loop-init
v1.3.3
Published
Scaffold agent loops patterns and starters into any project. Supports Grok, Claude Code, Codex, Opencode and more. npx @kevinzhangnothing/loop-init . --pattern daily-triage --tool opencode
Maintainers
Readme
loop-init
Scaffold agent loops starters into your project by pattern and tool.
npx @kevinzhangnothing/loop-init . --pattern daily-triage --tool grok works immediately.
Install & Run
npx @kevinzhangnothing/loop-init . --pattern daily-triage --tool grok
npx @kevinzhangnothing/loop-init . --pattern daily-triage --tool opencode
npx @kevinzhangnothing/loop-init . -p pr-babysitter -t claude
npx @kevinzhangnothing/loop-init . -p dependency-sweeper --dry-runSee docs/RELEASE.md for npm publish tags. The published package bundles starters/ and templates/ from this monorepo.
After scaffolding, always run npx @kevinzhangnothing/loop-audit . --suggest and actually execute the first report-only loop to generate activity signals.
Patterns
| Pattern | Default state file |
|---------|-------------------|
| daily-triage | STATE.md |
| pr-babysitter | pr-babysitter-state.md |
| ci-sweeper | ci-sweeper-state.md |
| dependency-sweeper | dependency-sweeper-state.md |
| post-merge-cleanup | post-merge-state.md |
| changelog-drafter | changelog-drafter-state.md |
| issue-triage | issue-triage-state.md |
L2 patterns (ci-sweeper, dependency-sweeper) also copy minimal-fix and loop-verifier templates when missing from the starter.
Fix-capable patterns (pr-babysitter, ci-sweeper, dependency-sweeper, post-merge-cleanup) also get a circuit breaker:
loop-guardskill — logs each attempt toloop-ledger.jsonand runsloop-context--checkbefore retryingloop-ledger.json— seeded with the pattern's goal, itspattern/level, and an emptyattemptsarray
The ledger's pattern/level let loop-guard size the breaker's --token-budget from loop-cost's realistic per-run estimate instead of a hand-typed number. The breaker escalates (same error N× in a row, too many consecutive failures, token budget, or iteration cap) instead of looping in vain. Report-only patterns skip it.
Every scaffold also creates:
loop-budget.md— pattern-specific daily caps and kill switchloop-run-log.md— append-only run historyloop-budgetskill — runtime budget guard at start/end of each run
Tools
grok(default)claudecodexopencode— daily-triage shipsminimal-loop-opencode(skills/,AGENTS.md,opencode.json)
Falls back to Grok starter paths when a per-tool variant is not yet available.
From this repo
cd tools/loop-init && npm ci && npm test
node dist/cli.js /path/to/project --pattern daily-triage --tool grokPair with loop-audit and loop-cost after scaffolding:
npx @kevinzhangnothing/loop-cost --pattern daily-triage --level L1
npx @kevinzhangnothing/loop-audit . --suggest