Improve Your Laravel Code with Code Coverage Reporting

Built with and for Laravel, OtterWise helps you track Code Coverage & health, and prevents merging bad PRs.

  • Track Code Coverage, Complexity and Type Coverage.
  • Block pull requests that reduce coverage, increase complexity, etc.
  • Unlike our competitors, we don’t need access to your code.
  • Browser-extension for per-line coverage and more.
  • Supports Pest with GitHub Actions, ChipperCI, or the bash uploader.
See features
Start improving your code

No credit card required for public repos.

In-app view of a active repository using OtterWise

OtterWise is built around the Laravel ecosystem, to ensure compatibility with all of the offerings. This means we support tracking Code Coverage for Laravel with Pest and PHPUnit with minimal effort. On top of that, you can track type coverage with a Pest Plugin.

Setting up Code Coverage tracking with Laravel on ChipperCI requires just a simple modification to your existing PHPUnit or Pest config, and a new line. After registering and getting your upload token, you can modify your CI workflow like so:

- name: Run Tests
  cmd: php -d pcov.enabled=1 vendor/bin/pest --coverage-clover=build/logs/clover.xml tests

- name: Upload Coverage
  cmd: bash <(curl -s https://raw.githubusercontent.com/getOtterWise/bash-uploader/main/uploader.sh) --repo-token $OTTERWISE_TOKEN 

That's it! Why not give OtterWise a spin, you can use it for free on unlimited public repositories forever. Private repositories are charged at competitive pricing. Also did we tell you that unlike our competitors, we do not require you to grant us access to your source code? Read about our code privacy efforts here

  • ChipperCI support
  • Pest and PHPUnit Laravel Code Coverage tracking
  • Type Coverage through Pest Plugin
  • Coverage trends and PR insights in GitHub

Compliance made easy

We never access source code; we only store coverage metrics and minimal service data to run OtterWise.
Read about our code privacy efforts here.

Invite your entire team

All plans (including free) offer unlimited collaborators at no extra charge. You can invite your entire engineering department, designers, PMs, and stakeholders.

Track progress, anywhere

The dashboard contains various coverage graphs to measure progress, and you can even add them to your own dashboard with our API to share with your team outside OtterWise.

Onboarding assistance

All paid plans include priority chat support, and we can help you get running even if you have no CI pipeline yet.

Tailored to your workflow

OtterWise is built for any use case. You can configure which files to ignore, when to fail CI, how to calculate coverage, and much more.

Proactive risk identification

With per-line Code Coverage, type coverage, and much more, OtterWise will enhance the reliability of your codebase.

Start shipping with confidence

No credit card required for public repos.

A graph visualising Code Coverage change and who caused the increase in coverage

Track trends, spot wins, find gaps

See how coverage changes across every branch. Celebrate the devs boosting your numbers, identify code that's skating by uncovered, and spot patterns before they become problems. Visual graphs that actually tell you something useful.

A preview of GitHub status checks on PRs, preventing uncovered code to be deployed

Block bad code before it ships

Status checks that automatically fail PRs when coverage drops or complexity spikes. Set your own quality thresholds and let automation enforce them. No more "looks good to me" merges that introduce untested code.

API request example for OtterWise

Unlock Your Code Coverage Data with API access

Take control of your Code Coverage data with our user-friendly API. With relaxed rate limiting and inclusion in all plans, accessing your data has never been easier. Exactly as it should be.

Start shipping with confidence

No credit card required for public repos.

Frequently Asked Questions

Should you have any questions not covered here, you can always reach out to [email protected] or on Twitter @getOtterwise and we will do our best to help you out.

We do not access, store or modify your code.

In fact, by default, our servers are not able to access repository code.

By utilizing GitHub annotations and downloadable coverage files, we can offer all the functionality expected of a Code Coverage service, without ever accessing source code.

Your organization can opt-in to permit code access, which will let team members temporarily grant access to render Code Coverage per-line inside OtterWise when enabled.

You can read more about our code privacy efforts here.

OtterWise is language and framework-agnostic, it can be used with any coding language. The only requirement is that your code is hosted on GitHub.com and that your test framework is capable of outputting a Coverage Clover XML or LCOV file.

Most test frameworks have this capability, for example PHPUnit has it built in (requires PCOV or XDebug), and in JavaScript you can get it through istanbuljs/nyc. We have guides as you set up your repository, to help you get started.

We have no minimum commitment. You can cancel anytime through your account, and we will stop billing you immediately, you will continue having access to your service until the end of your billing cycle.

At the end of your billing cycle, we will downgrade you to the free plan and automatically adjust the service accordingly, such as disabling private repositories that exceed the free plan limit. You will still have access to your data.

Public repositories are free forever and you can invite unlimited collaborators, and submit unlimited builds (coverage data) to us. We only charge for private repositories.

Yes! you have 2 trial options:

  • Public repositories are free forever.
  • Private repositories get a 7-day trial and billing starts after the trial.

Yes absolutely. Inside your organization billing page you can click the "Switch to yearly / monthly" and "Update plan" which will instantly switch you to your selection, and prorate accordingly. You can also reach out to us at [email protected] and we will get it sorted for you.

Yes, we offer a no-questions-asked refund policy. Please reach out to us at [email protected] and we will get it sorted for you.

Yes, we only permit logging in through your source code provider (GitHub). Employees removed from your GitHub organization are automatically removed from the respective OtterWise organization.

Yes! Project coverage (coverage across entire repository not just patch) is included in all plans. This gives you a comprehensive view of your codebase's overall test coverage, helping you track quality metrics across your entire project.

Yes! Patch coverage (coverage of the pull request / commit diff) is included in all plans. This shows you exactly which lines in your changes are covered by tests, making it easier to ensure quality before merging.

GitHub today, plus any CI that can run the uploader.

OtterWise tracks line coverage, branch coverage, patch coverage, type coverage, complexity, and CRAP.

Free plans include 6 months of data history, while Pro plans offer unlimited data retention. This means you can view historical reports, track coverage trends, and analyze quality improvements over time.

Yes! We believe in data portability. You can export your coverage reports, metrics, and historical data through our API or by contacting support. We provide multiple export formats for your convenience.

Security is our top priority. We use industry-standard encryption, secure authentication through GitHub, and follow best practices for data protection. Your code privacy is guaranteed with our opt-in code access model.

OtterWise provides comprehensive reporting including weekly/monthly digests, leaderboards, coverage trends, and detailed analytics. Pro plans include enhanced reporting with more detailed insights.

Yes! All plans include unlimited collaborators/team members. You can invite your entire team, manage access through GitHub organizations, and collaborate on coverage improvements with features like PR comments and annotations.

OtterWise is framework-agnostic and supports any testing framework that can output Clover XML or LCOV coverage reports. This includes PHPUnit, Jest, Cypress, RSpec, PyTest, and most other popular testing frameworks across all programming languages.

No, coverage reports only.

Ship better code faster with confidence_

PR comments, status checks, line annotations, and trends without code access. Free for public repos; per-repo pricing for private repos.