AI agent debate pipeline with live boxing visualization
Project description
ringside
AI agent debate pipeline with live boxing visualization.
Ringside runs multi-agent debates where a drafter proposes a plan, reviewers critique it, and they iterate until consensus — then an implementer writes code while reviewers audit. The whole thing plays out as a live boxing match in your browser.
Prerequisites
Ringside dispatches to AI agent CLIs. You need at least one installed:
- Claude Code —
claudeCLI (used as drafter and reviewer by default) - Codex —
codexCLI (used as implementer and reviewer by default)
Both must be on your PATH and authenticated.
Install
pip install ringside
Or from source:
git clone https://github.com/teo/ringside.git
cd ringside
pip install -e .
Quick start
# Full end-to-end flow: brief → plan → implement → verify
# (opens the boxing viewer automatically)
ringside run
# Or if you already have a task file
ringside run .ringside/tasks/add-retry-logic.md
# Plan only, then implement later
ringside run task.md --plan-only
ringside run --continue-run .ringside/runs/20260401-100033
Commands
| Command | Description |
|---|---|
ringside run |
Full flow: interactive brief, then run the pipeline with viewer |
ringside run <task.md> |
Run pipeline on an existing task file |
ringside run <task.md> --plan-only |
Plan only, skip implementation |
ringside run --continue-run <run-dir> |
Continue a plan-only run with implementation |
ringside brief [description] |
Just write a task file (no run) |
ringside watch [path] |
Reopen the boxing viewer for a run |
How it works
- Planning phase — A drafter (Claude) writes a plan. Reviewers (Claude + Codex) critique it. They debate until all reviewers approve or max rounds are reached.
- Implementation phase — An implementer (Codex) edits code following the approved plan. Reviewers audit the changes. Build gates (tests, linting) run between rounds.
- Visualization — A browser at
localhost:8731shows two CSS fighters animating in real-time: punches for drafts, counter-punches for rejections, victory poses for approval.
Per-project configuration
Ringside works out of the box with no configuration. Optionally, add these files to your project root:
.agency.toml
Override agent assignments and build gates:
[agents]
drafter = "claude"
implementer = "codex"
plan_reviewers = ["claude", "codex"]
impl_reviewers = ["codex"]
[[gates.step]]
label = "tests"
cmd = ["pytest", "-q"]
.agency-standards.md
Override the engineering standards injected into every agent prompt. Useful for domain-specific rules.
CLAUDE.md
Project context (what the codebase does, key conventions) — automatically picked up and passed to all agents so they understand your project.
Output
Runs are saved to .ringside/runs/<timestamp>/ in your working directory:
run.json— full event log (consumed by the viewer)final_plan.md— the approved planfollowup_task.md— auto-generated task for--continue-run
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ringside-0.1.0.tar.gz.
File metadata
- Download URL: ringside-0.1.0.tar.gz
- Upload date:
- Size: 110.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e02807ada6eac9d48b6b01d41ba8818102910a340187594ae0102be16390f4a
|
|
| MD5 |
22ebbaf9248757e4b4e68e4bdefc87ec
|
|
| BLAKE2b-256 |
d16536604dde1ce44e5191796845ee23ba2f918035c0c79baed85748a3c12ff2
|
File details
Details for the file ringside-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ringside-0.1.0-py3-none-any.whl
- Upload date:
- Size: 66.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f9b1c16ae540b0a8e3c5a2e46d232f6c18a661b8eaaa6d7bf5a3cecd1863f52
|
|
| MD5 |
99f56ff2a42c3a853b55fb102289993c
|
|
| BLAKE2b-256 |
d4bf43c4862a4abe5317f5187ed0fe2aadc5f31a879c6f8ce80bd2bd093a3fbf
|