Getting Started
Welcome to cpp-linter! This guide will help you integrate C/C++ linting into your workflow quickly and efficiently.
What is cpp-linter?
cpp-linter connects the standard LLVM linting tools, clang-format and clang-tidy, to the places where C/C++ projects need checks: pull requests, pre-commit hooks, local scripts, and CI jobs.
clang-formatchecks formatting against a named style or your.clang-formatfile.clang-tidyruns static-analysis and modernization checks, usually configured by.clang-tidy.- cpp-linter wraps those tools into integrations with consistent defaults, reporting, and failure controls.
Choose Your Integration
Select the method that best fits your development workflow:
| Use case | Recommended entry point |
|---|---|
| GitHub pull request checks | cpp-linter-action |
| Local checks before commits | cpp-linter-hooks |
| Custom scripts or CI jobs | cpp-linter CLI |
-
GitHub Actions
GitHub Action for automated C/C++ linting in your workflows
Perfect for: CI/CD pipelines, automated PRs, team collaboration
-
Pre-commit Hooks
Pre-commit hooks for automated C/C++ linting in your local development
Perfect for: Catching issues before commits, local enforcement
-
Command Line
Core Python package for cpp-linter-action behind the scenes
Perfect for: Local development, custom scripts, one-off analysis
-
Command Line (Rust)
High-performance Rust implementation of cpp-linter
Perfect for: Local development, custom scripts, one-off analysis
Clang Tools Distribution
-
clang-tools-static-binaries
Distribution clang tools static binaries for various platforms
-
clang-tools-docker
Distribution clang tools Docker images for various platforms
-
clang-tools-wheels
Distribution clang tools Python wheels for various platforms
Easy Installation
-
clang-tools-pip
Easy installation of clang tools static binaries via pip
-
clang-tools-asdf
Easy installation of clang tools static binaries via asdf