For teams shipping on GitHub
Prove your TypeScript, JavaScript, Python, Rust tests catch bugs, on every pull request
Open a pull request, get what your tests would miss
Heimdl changes the riskiest lines of your pull request, runs your tests against every change, and leaves what slipped through on the pull request, with the tests that catch it
Install the GitHub app
Pick your repositories, Heimdl gets your tests running, nothing is billed until they do
Open a pull request
Heimdl changes the riskiest lines of your pull request, one at a time on a copy, and runs your tests against each
Read one report
Every gap, what it puts at risk and the test that catches it, on the pull request and at one link
Tests passed, but 2 changed lines are not really checked
12 other changes caught
- TypeScript
- JavaScript
- Python
- Rust
Gaps are changes your tests do not notice
Coverage says a line ran, not that a test checked it, Heimdl measures whether a test noticed
Survived
A test ran the changed line and missed the change
Uncovered
The change sat on a line your tests never run
Caught
A test failed on the change, your suite did its job
We drop the noise and write the test for what matters
Heimdl ranks every gap by severity and impact, folds the minor ones away, and writes a validated test for the ones that matter, so a pull request gets a few useful comments, not a wall
value1.constructor === Object value1.constructor !== Object
test('_merge rejects when value1 is not a plain object', () => {
const result = _merge([1, 2], { a: 1 });
assert.deepStrictEqual(result, { issue: true });
});Only what is worth your time, ranked by what it puts at risk
Every change gets one classification, every gap one impact and one severity
Is it worth reporting?
The code changed, every test still passed
Reported, the one thing to act on
What does it put at risk?
A key lands in a log, a forged signature gets accepted
Ranked ahead of lower risk gaps
How much did your suite notice?
A mistake here could expose data, money or access, and your tests would not catch it
Measured by running your suite
Real pull requests, real runs
Cleared by review, missed by tests
Every case comes with a test that fails on the change and passes on the code
LDAP auth check can be switched off, tests stay green
Reviewed byInvalid timezone shows an error with no message
Reviewed byUnknown keys dropped from validation results
Reviewed bySession streams fail to start without the session ID
Reviewed byRequest version repair can be emptied, tests stay green
Reviewed byFlow folders can lose their type, no test runs the migration
No AI reviewer on this pull requestKeep your reviewer, add the proof
The AI reviewers on the pull requests above, and what the tests still missed
| Reviewer | Missed | Changes |
|---|---|---|
| 55% | 329 | |
| 84% | 134 | |
| 58% | 120 | |
| 77% | 179 | |
| 27% | 93 | |
| 87% | 71 | |
| 81% | 63 |
Missed, the share of changes no test caught, across all tested pull requests
Reviewers read your change, Heimdl runs your tests against it, keep both. One page per reviewer
One price for your whole team
Unlimited seats on every plan, you pay for repositories, not people
Free
Start with one repository, no card required
- 1 repository
- 1 audit scan
- 20 pull requests a month
Team
RecommendedUp to 3 repositories
- 3 repositories
- Every pull request checked
Company
Up to 10 repositories, add more any time
- 10 repositories
- $30 a month per repository above 10
- Every pull request checked
Questions
Does this replace code review?
No, a reviewer reads your change, Heimdl runs your tests against it, keep both
Do you keep my code?
Not for long, the copy of your repository is deleted when each check ends, and code quoted in findings after 30 days
Will it slow down my pull requests?
No, it runs beside your other checks, not in front of them, and posts when done
Can I trust a suggested test?
Every suggested test fails on the change and passes on your code before you see it, and nothing is merged for you
What about code no test runs at all?
Heimdl reports it as uncovered, and suggests tests for the riskiest of those lines too, checked the same way
What does a clean run mean?
Every change Heimdl made to your changed lines was caught, for those lines only
What is it built on?
Heimdl's own forks of Stryker for TypeScript and JavaScript, Cosmic Ray for Python, cargo-mutants for Rust, the product is choosing what to change and what is worth reporting
Heimdl