CheckOps
Gremlins
Gremlins is an Apache-2.0 mutation testing tool for Go, designed for small to medium modules and usable as a CI quality gate.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
Gremlins is a mutation testing tool for Go. The README says it works well on smallish Go modules, such as microservices, where it helps validate tests, supports TDD and can act as a CI quality gate, and warns that very big modules can take hours.
It uses coverage to mutate only covered code, applies operators such as conditional boundaries, negation, arithmetic and increment changes, and reports killed, lived, not covered and timed-out mutants with efficacy and coverage percentages. Thresholds can fail a build when efficacy drops. The project is still in 0.x releases.
In the quality loop Gremlins checks whether Go tests actually catch behaviour changes.
The source code is at go-gremlins/gremlins on GitHub under the Apache-2.0 licence, with about 463 stars; the most recent commit was on 30 March 2026.
Features
- Coverage-guided: Mutates covered code only.
- Operators: Boundaries, negation, arithmetic and more.
- Efficacy score: Killed versus lived mutants.
- Thresholds: Fail CI below targets.
- Config file: YAML configuration.
- Diff mode: Limit to changed code.
Pros
- Simple CLI:
gremlins unleashruns everything. - Free to use: Open source under the Apache-2.0 licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 30 March 2026.
Cons
- Large modules are slow: Runs can take hours.
- Pre-1.0: APIs may change.
- Limited operators: Fewer than mature JVM tools.
Usage and Links (Example)
go install github.com/go-gremlins/gremlins/cmd/gremlins@latest
gremlins unleash --threshold-efficacy 80
Resources:
Pricing
Gremlins is free and open source under the Apache-2.0 licence.
Recommended for?
- Go microservice teams.
- TDD practitioners checking test strength.
Conclusion
Gremlins makes mutation testing approachable for Go services.
Keep runs scoped to small modules or changed code.
On CheckOps, Gremlins is filed under the Unit testing and Release & CI gates stages. Related tools listed here include StrykerJS, PIT (Pitest), mutmut, Infection, cargo-mutants and Mull. A short trial on a real project, with your own code, data and pipeline, is usually the fastest way to choose between them, because fit matters more than feature lists. Facts here come from the official site, documentation and repository, checked on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Gremlins side by side.
SStrykerJSStrykerJS is the Apache-2.0 mutation testing framework for JavaScript and TypeScript, part of the Stryker Mutator family (with Stryker.NET and Stryker4s), supporting Jest, Vitest, Mocha, Karma and more.Compare with Gremlins
PPIT (Pitest)PIT (Pitest) is an Apache-2.0 state-of-the-art mutation testing system for Java and the JVM that mutates bytecode to measure how well your tests detect faults, with Maven and Gradle plugins and HTML reports.Compare with Gremlins
Mmutmutmutmut is a BSD-3-Clause mutation testing tool for Python that changes your code in small ways and reports which mutants your tests fail to kill, with a terminal UI for browsing results.Compare with Gremlins
IInfectionInfection is a BSD-3-Clause AST-based mutation testing framework for PHP that measures test effectiveness with Mutation Score Indicator metrics, supporting PHPUnit, Pest, Codeception and phpspec.Compare with Gremlins
Ccargo-mutantscargo-mutants is an MIT-licensed mutation testing tool for Rust that injects bugs into your code and reports which ones your tests miss, with nextest support, sharding and diff-based runs.Compare with Gremlins
MMullMull is an Apache-2.0 LLVM-based mutation testing and fault injection tool for C and C++ that mutates code at compile time and reports surviving mutants.Compare with Gremlins