Skip to main content

bugbout

Which coding agent actually fixes bugs in your codebase?

Public benchmarks tell you how coding agents do on someone else's code. bugbout tells you how they do on yours. It replays real bugs from your project's own history, lets agents race to fix them, and scores every patch with the tests your maintainers wrote alongside the real fix - tests no agent ever gets to see.

Why

  • Your code, not a leaderboard's. An agent that tops a benchmark can still stumble on your conventions, your framework and your test suite. Measure it where you will use it.
  • Scored by your own tests. Every task is a fix your team already shipped with a new test, and that test decides whether an agent's patch really fixes the bug.
  • Bring any agent. Codex, Claude Code, Gemini CLI and mini-swe-agent work out of the box, and any other agent with a command line takes a few lines of config - so you can also compare models, including local ones.
  • Cross-examination. Agents' tests are run against each other's patches, so you also learn whether an "agent jury" could pick, or gate, a patch on its own before you trust one in your workflow.
  • Safe to run. Agents work in history-free checkouts, inside an OS sandbox, with web access switched off.

Quickstart

You need Python 3.12+, git, uv, and at least one coding agent CLI installed and logged in.

pip install git+https://github.com/Keerthirajan58/bugbout

cd your-project
bugbout init      # writes bugbout.toml from your layout and the agents you have
bugbout doctor    # checks everything before any agent spends quota
bugbout run       # mines tasks, races the agents, judges and scores
bugbout report --format markdown

A bout is resumable: stop it at any point and run it again to carry on. Add an agent later and only that agent runs.

How it works

  1. Mine. Fixes in your git history that name an issue and add a test become tasks.
  2. Ground truth. The maintainers' tests run before and after their fix; the tests that flip from failing to passing define what "fixed" means.
  3. Race. Each agent gets the issue and a checkout of the code before the fix - no git history, none of the fix's tests - and works inside a sandbox.
  4. Cross-examine. Every test the agents wrote runs against every patch.
  5. Judge and score. A policy picks one patch per bug from the executed evidence, then the hidden tests score every patch and every pick.

More in How it works.

Configuration

bugbout init writes a commented bugbout.toml. A minimal one looks like this:

[project]
source = "src/mypkg"
tests = "tests"

[[contestants]]
agent = "codex"

[[contestants]]
agent = "claude-code"
model = "sonnet"

Every setting is described in Configuration; the built-in agents, sandboxing and adding your own agent are covered in Agents.

From Python

from bugbout import Bout, render_markdown

report = Bout.load(".").run()
print(render_markdown(report))

License

MIT

Metadata

Release files for bugbout 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bugbout 0.1.0
File Size Uploaded Provenance Actions
bugbout-0.1.0.tar.gz 97.1 kB Without provenance Details for bugbout-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bugbout 0.1.0
File Interpreter ABI Platform Actions
bugbout-0.1.0-py3-none-any.whl Python 3 none any Details for bugbout-0.1.0-py3-none-any.whl

Total release size: 185.0 kB

Release files / bugbout-0.1.0.tar.gz

Download URL bugbout-0.1.0.tar.gz
Size 97.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ed038a4abdf13f7f0e190fbe3ae6409a142a84038c5650a1b67357afc756cbc5
BLAKE2b-256 checksum
How to use checksums
68b74ceec1c5af9fe6827b88fdb1725f2517ed9305efed898797fa564293928f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","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}

Release files / bugbout-0.1.0-py3-none-any.whl

Download URL bugbout-0.1.0-py3-none-any.whl
Size 87.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
489e6b9fa1575d9590b98d03ac12c6abc88ded04cbbfaaf2ea7e834c9c0b4676
BLAKE2b-256 checksum
How to use checksums
60cdcc51098bb0e7ba11973f796ad2ad435e4b540bfc8b5782383b8ff179cc05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","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}

Security for bugbout 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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