Automated C/C++ linting and formatting for your CI/CD pipelines and local workflows.
cpp-linter bundles the power of clang-format, clang-tidy, and other LLVM tools into packages that are easy to install, integrate, and maintain. Whether you’re linting a single file locally or enforcing code quality across dozens of repos in CI, cpp-linter has you covered.
We target C/C++ developers and DevOps engineers who want reliable clang tooling without the build-from-source headache.
Integrate cpp-linter into your workflow in minutes:
- cpp-linter-action — GitHub Action that runs
clang-formatandclang-tidyon PRs and pushes, posting inline annotations. - cpp-linter-hooks — pre-commit hooks for local development — catch issues before they hit CI.
We provide ready-to-use binaries, Docker images, and Python wheels of key clang tools:
| Package | Description |
|---|---|
| clang-tools-static-binaries | Statically-linked clang-format, clang-tidy, clang-query, and clang-apply-replacements binaries |
| clang-tools-docker | Docker images with pre-installed clang-format and clang-tidy |
| clang-tools-wheel | Redistribute clang-format and clang-tidy Python wheels |
Prefer modern package managers? Install clang-format, clang-tidy, clang-query, and more via:
- pip —
pip install clang-tools - asdf —
asdf plugin add clang-tools https://github.com/cpp-linter/asdf-clang-tools
We welcome contributions of all kinds — bug reports, feature requests, documentation improvements, and code.
- 📋 Read our Code of Conduct
- 🔧 Check individual repos for their
CONTRIBUTING.mdguides - 💬 Join the discussion on GitHub Discussions
Made with ❤️ by the cpp-linter community
