// readme

Mutineer

Find bugs your tests would miss. Mutineer changes your Ruby code and runs your Minitest or RSpec tests. Changes that still pass reveal possible test gaps. This is mutation testing.

Features

  • Minitest and RSpec. Detected from test filenames; override with --framework.
  • Rails support. --rails boots once. With --daemon, each Minitest worker gets its own SQLite file, PostgreSQL, or MySQL 8 test database.
  • Focused tests. Runs tests that reach each changed line, likely and fast tests first. Stops at the first failure by default.
  • PR checks. --since origin/main checks changed lines; --baseline gates new survivors, and score drops on full runs. When tests change, run a full scan (--no-since).
  • CI and agents. GitHub Action, versioned JSON, stable mutant ids, clear exit codes, and zero runtime gem dependencies.

πŸ“– davidteren.github.io/mutineer β†’: overview, operators, and usage.

Is it production-ready?

Check your database and framework before adding a CI gate. Mutineer requires Ruby 3.4 or later. In-process runs require Linux or macOS for forks. Plain Ruby projects without…