boucle

Great ideas deserve to ship.

From a ticket in your forge to a feature in production. Agentic AI serving humans, not vice versa. Boucle works so you can live. You decide at the key moments, nothing else. 👍👎

How boucle works

Watch your forge's hosted AI agent turn tickets into shipped features

  • GitLab

Drop your idea in an issue

Create an issue in your forge with a title and a description. It's just a normal ticket.

/* ============ LOOP STATES ============ */

The loop, state by state

A label on your issue tells you exactly where the loop is — and when it's your turn to decide.

  1. boucle:triageAutonomous

    boucle reads your issue and classifies it before starting any work.

  2. boucle:spec-reviewHuman decides

    boucle drafts a spec and preview. You decide — approve or amend.

  3. boucle:todoAutonomous

    The approved spec is queued and ready for the worker to pick up.

  4. boucle:workingAutonomous

    The worker implements the issue, committing as it goes.

  5. boucle:reviewAutonomous

    The reviewer checks the change against the spec and your amendments.

  6. boucle:approvalHuman decides

    boucle opens a PR for you to review. You decide — approve or send it back.

  7. boucle:mergingAutonomous

    On approval, boucle rebases and merges your feature into main.

  8. boucle:doneTerminal

    Shipped. Your feature is live and the loop moves on.

Escalation branch — exits the loop

boucle:humanEscalation

An escalation hands the issue back to you. The loop stops here.

Why boucle

Harness made for human, made by an indie product builder for product builders.

Deterministic and reliable

An agent that interprets instructions erratically, wasting time and tokens or breaking the product.

Deterministic, with formalized formats, built-in checks and gated steps. You intervene only where judgment matters.

Works while you sleep

A daemon to babysit, a laptop left on all night, a VPS to maintain.

The agent works overnight for you. You intervene only when it matters.

No UI, No CLI

A new interface to learn, a command line to master.

No interface to learn, no command line to master. You interact through your forge: issues, comments, labels.

Self-healing, self-learning loop

A static tool that repeats the same mistakes again and again, demanding constant watch.

A loop that learns from its mistakes, self-updates, and adapts to your codebase as your project advances.

Libre & open source

A closed tool you rent, on a roadmap that is not yours.

AGPL-3.0, built by an indie product builder for product builders. Read it, fork it, send a patch.

Contribute

Ship 10x more with less

A plan that caps what you can ship, and charges you more to lift the cap.

About 125 features a month on the same plan — roughly 10x a Claude Code Max plan.

See the numbers →

Quick start

One command, and boucles takes over.

curl -fsSL https://boucle.dev/install.sh | bash
Install boucle on this GitLab/GitHub repository. Execute these steps and report
back what you did:

1. If you are not already inside the target repository — the one whose
   origin remote points to your GitLab host — ask the user for its URL,
   clone it, and work from the clone.
2. git submodule add https://github.com/ankaboot-source/boucle .boucle
3. Run setup in non-interactive mode. It auto-detects the GitLab host and
   project from `git remote get-url origin`, so no value needs to be
   replaced: .boucle/bin/setup --non-interactive
4. Do NOT include an API key anywhere. The API key must never appear in
   this conversation. If setup tells you the key is missing, that's
   expected — it is configured manually in the GitLab UI afterwards.
5. git add .gitmodules .boucle .gitlab-ci.yml && git commit -m "chore: install boucle engine"
6. Show me the URL bin/setup printed for configuring the masked API key,
   and any next steps it listed.
Next

Create an issue in your forge and tag it boucle:triage → boucle starts.

View the docs →