Skip to main content

the-loop CLI

A lightweight, extensible command-line companion to the-loop — an opinionated product-development-lifecycle harness shipped as a Claude Code and Cursor plugin.

The plugin is the operating model an agent follows inside a session. This CLI is what starts those sessions, keeps them attached to work items, and tells you what happened: a GitHub webhook receiver and a poller that turn ticket activity into agent runs, a session registry, execution control, a structured event log, and repo-scoped commands for the process graph, critic rounds and test-scenario discovery.

Written in Python with one runtime dependency, PyYAML — its whole configuration is YAML, so reading it is not optional — and stdlib otherwise. Python is intentional: it leaves room to add self-learning / ML capabilities later, which are mostly exposed as Python SDKs.

Install

Published to PyPI as the-loopy-one — the base name the-loop was taken. The import package and the console script keep the natural the_loop / the-loop:

pip install the-loopy-one   # PyYAML comes with it — nothing else to add
the-loop --help

Optional extras: the-loopy-one[slack] for the official Slack SDK transport. ([config] is a deprecated no-op — PyYAML is a required dependency now — kept so pinned install lines keep resolving.)

In one minute

# 1. Tell the daemon who may drive it, in ~/.the-loop/cli-config.yaml
#      routing.authorizedUsers: ["your-github-login"]
#      polling.sources: [{ provider: github, repos: ["your-org/your-repo"] }]

# 2. Start an ingress (poll needs no inbound networking)
the-loop poll start

# 3. Label a GitHub issue "the-loop: auto-execute", then comment:
#      the-loop start

# 4. Watch
the-loop sessions list
the-loop events --follow

Documentation

Full docs at https://madarauchiha-314.github.io/the-loop/cli/:

Overview What the CLI is, and when you need it
Installation PyPI, uv, extras, what else to have on PATH
Getting started Zero to an auto-executing work item, in five steps
Concepts Ingress, sessions, guards, workspaces, the process graph
Commands gh-webhook · poll · sessions · events · check · graph · critic · scenarios · migrate-config
Configuration Every option, by area, with types and defaults
Adding a command The Command / @register contract

Two config files, and they never overlap. The CLI daemon reads cli-config.yaml (yours, machine-scoped, resolved via --config$THE_LOOP_CLI_CONFIG./.the-loop/cli-config.yaml~/.the-loop/cli-config.yaml). A repository's .the-loop/harness-config.yaml is the plugin config and is never read by the daemon — including authorizedUsers and a poll source's repos, which have no fallback and fail closed when unset. See Configuring the-loop.

Development

the-loop uses uv. From the repository root:

uv sync                     # install the workspace from uv.lock
uv run the-loop --help
make test                   # pytest
make check                  # ruff · pyright · schema validation · pytest

Releases are automatic: on merge to main, cz bump derives the next version from the Conventional Commits since the last tag and publishes to PyPI via Trusted Publishing (OIDC — no stored token).

License

MIT.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

the_loopy_one-6.0.0.tar.gz (345.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

the_loopy_one-6.0.0-py3-none-any.whl (236.6 kB view details)

Uploaded Python 3

File details

Details for the file the_loopy_one-6.0.0.tar.gz.

File metadata

  • Download URL: the_loopy_one-6.0.0.tar.gz
  • Upload date:
  • Size: 345.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for the_loopy_one-6.0.0.tar.gz
Algorithm Hash digest
SHA256 ea80bf8c3a2fe0ec94337793fd7503afd464f697a0f2a4a49b32af7df9340541
MD5 155209bf6183083029c31a3ac26c4059
BLAKE2b-256 28516b2ceff51d2a705fe9b2397700d6efcf8e118da354551b2d3f9752e172d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for the_loopy_one-6.0.0.tar.gz:

Publisher: release.yml on MadaraUchiha-314/the-loop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file the_loopy_one-6.0.0-py3-none-any.whl.

File metadata

  • Download URL: the_loopy_one-6.0.0-py3-none-any.whl
  • Upload date:
  • Size: 236.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for the_loopy_one-6.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 927f473e22a99a2d447da551afedc3cf00bb6d20866e1f2e027a648dccb5bca6
MD5 7d8e9ac1e0031f0f414b43b11d1747a6
BLAKE2b-256 e44253acda36f1b336ae2705a30bd3bf6c39f9aed8836ba14ff3b1f6425538b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for the_loopy_one-6.0.0-py3-none-any.whl:

Publisher: release.yml on MadaraUchiha-314/the-loop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

13.6.0

2 files

13.5.0

2 files

13.4.0

2 files

13.3.1

2 files

13.3.0

2 files

13.2.0

2 files

13.1.1

2 files

13.1.0

2 files

13.0.1

2 files

13.0.0

2 files

12.1.0

2 files

12.0.0

2 files

11.6.1

2 files

11.6.0

2 files

11.5.0

2 files

11.4.0

2 files

11.3.1

2 files

11.3.0

2 files

11.2.0

2 files

11.1.3

2 files

11.1.2

2 files

11.1.1

2 files

11.1.0

2 files

11.0.1

2 files

11.0.0

2 files

10.6.0

2 files

10.5.0

2 files

10.4.1

2 files

10.4.0

2 files

10.3.1

2 files

10.3.0

2 files

10.2.5

2 files

10.2.4

2 files

10.2.3

2 files

10.2.2

2 files

10.2.1

2 files

10.2.0

2 files

10.1.0

2 files

10.0.0

2 files

9.15.0

2 files

9.14.0

2 files

9.13.0

2 files

9.12.0

2 files

9.11.0

2 files

9.10.0

2 files

9.9.0

2 files

9.8.0

2 files

9.7.1

2 files

9.7.0

2 files

9.6.3

2 files

9.6.2

2 files

9.6.1

2 files

9.6.0

2 files

9.5.1

2 files

9.5.0

2 files

9.4.0

2 files

9.3.0

2 files

9.2.0

2 files

9.1.0

2 files

9.0.0

2 files

8.1.0

2 files

8.0.0

2 files

7.4.1

2 files

7.4.0

2 files

7.3.0

2 files

7.2.0

2 files

7.1.1

2 files

7.1.0

2 files

7.0.0

2 files

6.2.1

2 files

6.2.0

2 files

6.1.1

2 files

6.1.0

2 files

This release

6.0.0 This release

2 files

5.2.1

2 files

5.2.0

2 files

5.1.0

2 files

5.0.0

2 files

4.2.0

2 files

4.1.0

2 files

4.0.0

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.1.0

2 files

2.0.1

2 files

2.0.0

2 files

1.0.0

2 files

0.22.1

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.1

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.2

2 files

0.14.1

2 files

0.14.0

2 files

0.13.0

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page