About moonbuggy

moonbuggy is a fast, agent-first mutation testing tool for Python. It was built by Jennifer Hamon with a specific philosophy: output should be machine-readable and human-readable, with zero ambiguity.

Why “moonbuggy”

The name is a nod to the Apollo Lunar Roving Vehicle — the “moon buggy.” Mutation testing finds the gaps in your test suite, and the metaphor of exploring terrain that looks fine from a distance but has hazards up close felt right.

Design principles

Refuse rather than guess. A wrong status is worse than no status. A flaky test makes its mutants SUSPICIOUS rather than confidently anything. An already-failing suite is refused outright.

One line per mutant. Output is a greppable stream of status-keyword lines with key=value tokens, backed by the same data as JSONL for anything that wants to parse rather than scan.

Only run the tests that could possibly notice. One instrumented run of your suite builds a coverage map. Each mutant then runs against a handful of tests instead of all of them.

Built for agents. The help text is the best explanation of the tool. Run uv run --with moonbuggy moonbuggy -h, show it to an agent, and let it drive — no install, no setup, no configuration file.

How this was built

moonbuggy was built by Jennifer Hamon as a project to explore different models and ways of working with AI agents. It was created using a variety of models and agent harnesses, including Anthropic’s Claude models and open-weight models through OpenRouter.

License

moonbuggy is MIT licensed.

Repository

https://github.com/jhamon/moonbuggy