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.1.tar.gz (110.6 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.1-py3-none-any.whl (67.0 kB view details)

Uploaded Python 3

File details

Details for the file ringside-0.1.1.tar.gz.

File metadata

  • Download URL: ringside-0.1.1.tar.gz
  • Upload date:
  • Size: 110.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ringside-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e7c75cb5527fabba87af83441752f587e9e189754d181f87d4702dfeb0ebb631
MD5 54d9aa8ca12c9ec06764e7c643620c1c
BLAKE2b-256 8656c29587b655d668351ab77bb8e9508f4ab16d8532734f0f1f2343d9ccfdba

See more details on using hashes here.

File details

Details for the file ringside-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ringside-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 67.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ringside-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d83acff9177c91ae4e3c032592333b7767d39afe1910c3d391ee26c726146c5
MD5 d60bc81d7a017f1c056a0905dc6b4b7f
BLAKE2b-256 2d4978d42c71b93b2d467ef6738031a91731874f8c82ce0dc45018f56cef3094

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