{"id":44395647,"url":"https://github.com/brennontwilliams/little-loops","last_synced_at":"2026-05-27T07:01:19.643Z","repository":{"id":331792927,"uuid":"1126986362","full_name":"BrennonTWilliams/little-loops","owner":"BrennonTWilliams","description":"A decision engine for Claude Code. MIT licensed.","archived":false,"fork":false,"pushed_at":"2026-05-25T05:03:43.000Z","size":35796,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T07:04:35.541Z","etag":null,"topics":["agent-tooling","ai-engineering","claude-code","eval-driven-dev"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BrennonTWilliams.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-03T00:08:38.000Z","updated_at":"2026-05-25T05:03:58.000Z","dependencies_parsed_at":"2026-05-25T07:01:01.142Z","dependency_job_id":null,"html_url":"https://github.com/BrennonTWilliams/little-loops","commit_stats":null,"previous_names":["brennontwilliams/little-loops"],"tags_count":123,"template":false,"template_full_name":null,"purl":"pkg:github/BrennonTWilliams/little-loops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrennonTWilliams%2Flittle-loops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrennonTWilliams%2Flittle-loops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrennonTWilliams%2Flittle-loops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrennonTWilliams%2Flittle-loops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrennonTWilliams","download_url":"https://codeload.github.com/BrennonTWilliams/little-loops/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrennonTWilliams%2Flittle-loops/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33554780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-tooling","ai-engineering","claude-code","eval-driven-dev"],"created_at":"2026-02-12T03:30:37.593Z","updated_at":"2026-05-27T07:01:19.626Z","avatar_url":"https://github.com/BrennonTWilliams.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/BrennonTWilliams/little-loops/main/assets/little-loops.jpeg\" alt=\"Little Loops Logo\" width=\"200\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/BrennonTWilliams/little-loops/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/BrennonTWilliams/little-loops?display_name=tag\u0026style=flat-square\" alt=\"Version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/BrennonTWilliams/little-loops/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/BrennonTWilliams/little-loops?style=flat-square\" alt=\"License\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://python.org\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/python-3.11+-blue.svg?style=flat-square\u0026logo=python\" alt=\"Python Version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/little-loops/\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/little-loops?style=flat-square\u0026label=PyPI\" alt=\"PyPI Version\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://docs.little-loops.ai\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/docs-little--loops.ai-blue?style=flat-square\" alt=\"Docs\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# little-loops\n\n**The toolkit for long-horizon, eval-gated AI software development.** Built as a Claude Code plugin.\n\nToday's agents do small tasks well and ship features poorly. little-loops removes that ceiling with three things they're missing: **durability** (the run outlives the session), **consistency** (the toolbelt is the process), and **verification** (the harness is the spec).\n\nStop babysitting chats. Start shipping features.\n\n## 1. Chat sessions are holding you back. Run asynchronous agents until done — scale without limits.\n\nThe unit of work is the feature, the sprint, or the overnight optimization — not a single chat. Runs survive terminal close, context exhaustion, and laptop sleep. Parallel sprints fan out across isolated worktrees and complete independently of your terminal.\n\n- **`ll-parallel`** — kick off N concurrent feature implementations in isolated worktrees. Walk away. They converge without you.\n- **`--background` + `ll-loop resume`** — runs survive terminal close, sleep, and reboot. Resume picks up exactly where it stopped, mid-trajectory.\n- **`harness-optimize`** — score-gated overnight optimization runs. Accept-or-revert each mutation. If interrupted, resume to the highest-scoring commit.\n- **Session handoff** — a fresh context picks up mid-issue without losing the thread. Context limits stop being a planning constraint.\n\n*Ship features, not sessions.*\n\n## 2. Smart tools create smart processes.\n\nRaw agents re-derive the same structural moves differently each run. The `ll-` CLI removes the improvisation surface: context gathering, issue lifecycle, sprint moves, and worktree setup all run as typed commands. Two runs of the same feature land in the same shape — by construction, not by prompting.\n\n- **29 typed CLI tools** (`ll-issues`, `ll-sprint`, `ll-loop`, `ll-parallel`, `ll-action`, etc.) — structural work runs as commands, not improvised tool calls\n- **`/ll:manage-issue`** — composes the CLIs into a fixed plan → implement → verify → complete sequence. The agent reasons *inside* steps, not about *which* steps to take\n- **Skill harnesses** (`/ll:ready-issue`, `/ll:wire-issue`, `/ll:confidence-check`) — same inputs, same gates, same outputs\n- **Worktree setup, branch naming, issue ID generation** — mechanical operations that produce identical structure across runs\n\n*Same feature, same shape, every run.*\n\n## 3. Harness-driven development is awesome. And hard. Auto-generate autonomous harnesses and let your agents go anywhere.\n\nHarness-driven development is TDD's analog for agent-built software: define what \"working\" looks like first, then iterate until the harness passes. little-loops grades, writes, and improves the harness for you — removing the engineering tax that keeps most teams skipping evals entirely.\n\n**The harness grades:**\n- Six layered gate types — exit code, deterministic external state, full agentic user simulation, LLM-as-judge, diff size invariant, no-op detection\n- Cheapest gates run first. Failures route back to execution rather than advancing\n- Stall detection catches the \"already done\" no-op that silently burns through iteration budgets\n\n**The harness writes itself:**\n- `/ll:create-eval-from-issues` — turn an issue's acceptance criteria into a runnable harness in under a minute\n- `/ll:create-loop` — auto-derive the full harness from your project config\n- Annotated templates and `ll-loop validate` — dry-run the FSM before paying for a real run\n\n**The harness improves itself:**\n- `harness-optimize` — hill-climbing on harness artifacts. One targeted edit per iteration, benchmark, accept on rising score, revert otherwise\n- APO loop category with five prompt-optimization strategies — point it at a prompt, converge to a target score\n- `/ll:audit-loop-run` — four-valued verdict (`met` / `phantom` / `partial` / `degraded`) catches failure modes humans miss\n\n*Point at context. Get a harness.*\n\n---\n\n## Install\n\n**Prerequisites:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code) + Python 3.11+\n\n```bash\n# Add the GitHub repository as a marketplace\n/plugin marketplace add BrennonTWilliams/little-loops\n\n# Install the plugin\n/plugin install ll@little-loops\n\n# Install CLI tools (for ll-parallel, ll-loop, ll-auto, etc.)\npip install little-loops\n```\n\n**Using Codex CLI?** See [docs/codex/getting-started.md](docs/codex/getting-started.md) — run `/ll:init --codex` and `ll-adapt-skills-for-codex --apply` to get started.\n\n\u003cdetails\u003e\n\u003csummary\u003eAlternative install methods\u003c/summary\u003e\n\n**From local path (development):**\n\n```bash\n/plugin marketplace add /path/to/little-loops\n/plugin install ll@little-loops\n```\n\n**Manual configuration** — add to `.claude/settings.local.json`:\n\n```json\n{\n  \"extraKnownMarketplaces\": {\n    \"local\": {\n      \"source\": {\n        \"source\": \"directory\",\n        \"path\": \"/path/to/little-loops\"\n      }\n    }\n  },\n  \"enabledPlugins\": {\n    \"ll@local\": true\n  }\n}\n```\n\n\u003c/details\u003e\n\n---\n\n## First 60 seconds\n\nFour ways to feel the difference, top to bottom:\n\n### Scan and triage a codebase\n\n```bash\n/ll:init                  # Auto-detect project type, generate config\n/ll:scan-codebase         # Find issues (technical)\n/ll:prioritize-issues     # Auto-assign P0–P5 priorities\n/ll:map-dependencies      # Cross-issue dependency graph\n```\n\n### Ship an issue end-to-end\n\n```bash\n/ll:manage-issue bug fix BUG-001   # Plan → implement → verify → complete\n```\n\n### Fan out a parallel sprint\n\n```bash\nll-sprint create v2-launch --issues FEAT-001,FEAT-002,FEAT-003\nll-parallel --workers 3            # Three isolated worktrees, three features, zero babysitting\n```\n\n### Eval-driven development\n\n```bash\n/ll:create-eval-from-issues FEAT-001   # Turn acceptance criteria into a runnable harness\nll-loop validate harness-optimize      # Dry-run the FSM before paying for a real run\nll-loop run harness-optimize -b        # Score-gated hill climbing in the background\n```\n\n---\n\n## What's in the box\n\n- **28 slash commands** — issue discovery, refinement, planning, code quality, git, automation\n- **9 specialized agents** — codebase analysis, quality assurance, automation, and research\n- **30 skills** — deterministic harnesses for common workflows (confidence checks, issue wiring, loop creation)\n- **29 CLI tools** — `ll-auto`, `ll-parallel`, `ll-sprint`, `ll-loop`, `ll-action`, and more\n- **54 FSM loops** — recurring automation workflows (backlog triage, sprint building, eval harnesses)\n- **Configuration system** — project-type templates for Python, JS/TS, Go, Rust, Java, .NET, and generic\n\nFull reference: [Command Reference](docs/reference/COMMANDS.md) · [CLI Reference](docs/reference/CLI.md)\n\n---\n\n## Documentation\n\n- **[docs.little-loops.ai](https://docs.little-loops.ai)** — hosted docs (searchable, dark mode, mobile)\n- [Configuration Reference](docs/reference/CONFIGURATION.md) — all options, variable substitution, overrides\n- [Loops Guide](docs/guides/LOOPS_GUIDE.md) — FSM YAML authoring, loop patterns, practical examples\n- [Session Handoff Guide](docs/guides/SESSION_HANDOFF.md) — context management and continuation\n- [Architecture Overview](docs/ARCHITECTURE.md) — system design and diagrams\n- [Troubleshooting](docs/development/TROUBLESHOOTING.md) — common issues and solutions\n- [Contributing](CONTRIBUTING.md) — development setup, testing, guidelines\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrennontwilliams%2Flittle-loops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrennontwilliams%2Flittle-loops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrennontwilliams%2Flittle-loops/lists"}