reviewdog logo

reviewdog

Automated lint feedback directly in pull‑request reviews.

reviewdog streams linter results into code‑hosting platforms, posting comments, checks, or annotations on changed lines, supporting GitHub, GitLab, Bitbucket and major CI pipelines.

Overview

Overview

reviewdog bridges the gap between static analysis tools and code‑hosting platforms. By ingesting the output of any linter—through Vim‑style errorformat strings, predefined formats, or the generic RDFormat—it determines which findings intersect the current diff and posts them as review comments, checks, or annotations.

Integration

The tool runs in CI environments such as GitHub Actions, GitLab CI, Travis, CircleCI, Bitbucket Pipelines, and Jenkins, as well as locally on a developer’s machine. Installation is straightforward via a curl script, Homebrew, Scoop, or go install, and a dedicated GitHub Action (reviewdog/action-setup) automates setup. With built‑in reporters for GitHub PR checks, GitHub PR reviews, GitLab merge‑request discussions, and Bitbucket Code Insights, teams can enforce quality gates without leaving their familiar workflow. reviewdog’s extensible configuration also allows custom reporters, making it adaptable to emerging platforms.

Highlights

Works with any linter via flexible errorformat or built‑in parsers.
Posts results as PR comments, checks, or annotations on GitHub, GitLab, and Bitbucket.
Supports local diff filtering and multiple CI environments out of the box.
Extensible configuration and custom reporters for bespoke workflows.

Pros

  • Language‑agnostic; any tool that outputs text can be integrated.
  • Immediate feedback on only changed code reduces noise.
  • Wide CI and platform support simplifies pipeline setup.
  • Simple installation via script, Homebrew, Scoop, or Go.

Considerations

  • Requires correct errorformat definitions for custom tools.
  • No built‑in UI; feedback appears only in hosting service interfaces.
  • Complex configuration may be needed for large monorepos.
  • Limited to platforms with supported reporters (e.g., no Azure DevOps out of the box).

Managed products teams compare with

When teams consider reviewdog, these hosted platforms usually appear on the same shortlist.

Codacy logo

Codacy

Static analysis and quality gates for engineering teams.

CodeAnt AI logo

CodeAnt AI

AI code review and security platform with one-click fixes.

CodeRabbit logo

CodeRabbit

AI code review and PR assistant for automated feedback

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Teams that enforce linting standards in pull requests.
  • Projects using multiple languages and linters.
  • CI pipelines that need automated code quality gates.
  • Developers who prefer inline review comments over separate reports.

Not ideal when

  • Environments without access to supported code‑hosting APIs.
  • Projects that require a standalone dashboard for lint results.
  • Workflows needing real‑time linting in local editors only.
  • Organizations that cannot install external binaries in CI.

How teams use it

GitHub PR lint enforcement

Automated golint warnings appear as review comments on new code, preventing merges with style violations.

GitLab merge request quality gate

Static analysis tools post discussion threads on changed files, allowing reviewers to address issues before approval.

Bitbucket Pipelines code insights

Security scanner findings are reported as Code Insights, visible in the pipeline summary and pull request.

Local pre‑commit diff check

Developers run reviewdog locally to see linter output only for staged changes, keeping the console clean.

Tech snapshot

Go96%
Shell3%
HTML1%
Dockerfile1%

Tags

bitbucketlinterstatic-analysisstatic-code-analysisgithubgocode-reviewcodereviewlintcligitlabcode-qualityci

Frequently asked questions

How does reviewdog know which lines to comment on?

It compares linter output against the diff of the current commit or pull request, posting comments only for lines present in the diff.

Can I use reviewdog with my own custom linter?

Yes. Provide an appropriate errorformat string or use the generic RDFormat to parse the tool’s output.

Which CI services are supported out of the box?

GitHub Actions, Travis CI, Circle CI, GitLab CI, Bitbucket Pipelines, Jenkins, and generic local execution.

How is reviewdog installed?

Via a curl install script, Homebrew, Scoop, or `go install`; a GitHub Action also sets up the binary automatically.

Does reviewdog modify the repository?

No. It only posts comments, checks, or annotations; it never commits changes.

Project at a glance

Active
Stars
8,977
Watchers
8,977
Forks
474
LicenseMIT
Repo age9 years old
Last commit16 hours ago
Primary languageGo

Last synced 12 hours ago