Skip to main content

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 Codeclaude CLI (used as drafter and reviewer by default)
  • Codexcodex CLI (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

  1. Planning phase — A drafter (Claude) writes a plan. Reviewers (Claude + Codex) critique it. They debate until all reviewers approve or max rounds are reached.
  2. Implementation phase — An implementer (Codex) edits code following the approved plan. Reviewers audit the changes. Build gates (tests, linting) run between rounds.
  3. Visualization — A browser at localhost:8731 shows 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 plan
  • followup_task.md — auto-generated task for --continue-run

License

MIT

Project details


Download files

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

Source Distribution

ringside-0.1.0.tar.gz (110.2 kB view details)

Uploaded Source

Built Distribution

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

ringside-0.1.0-py3-none-any.whl (66.6 kB view details)

Uploaded Python 3

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

Hashes for ringside-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6e02807ada6eac9d48b6b01d41ba8818102910a340187594ae0102be16390f4a
MD5 22ebbaf9248757e4b4e68e4bdefc87ec
BLAKE2b-256 d16536604dde1ce44e5191796845ee23ba2f918035c0c79baed85748a3c12ff2

See more details on using hashes here.

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

Hashes for ringside-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f9b1c16ae540b0a8e3c5a2e46d232f6c18a661b8eaaa6d7bf5a3cecd1863f52
MD5 99f56ff2a42c3a853b55fb102289993c
BLAKE2b-256 d4bf43c4862a4abe5317f5187ed0fe2aadc5f31a879c6f8ce80bd2bd093a3fbf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page