CLOMonitor is a tool that periodically checks open source projects repositories to verify they meet certain project health best practices.
CLOMonitor runs sets of checks periodically on all the repositories registered in the database. These checks are run every hour, provided the repository has changed since the last time it was checked. In the case of repositories that don't change often, we make sure that they are checked at least once a day anyway. This way we keep reports up to date with the latest checks additions and improvements.
Checks are organized in check sets
. Each check set
defines a number of checks that will be run on the repository and one or more check sets
can be applied to a single repository. At the moment the following sets are supported: code
, code-lite
, community
and docs
. Please see the checks documentation for more details.
The CLOMonitor's linter can also be run locally or from CI workflows. You can build it from source using Cargo, the Rust package manager:
cargo install --git https://github.com/cncf/clomonitor clomonitor-linter
Alternatively, you can use the published Docker image. An example of how to integrate CLOMonitor's linter with Github Actions can be found in the Artifact Hub repository.
CLOMonitor delegates some of the security checks to OpenSSF Scorecard, so you'll need to install it before running clomonitor-linter
locally. Both CLOMonitor and OpenSSF Scorecard use the Github GraphQL API for some checks, which requires authentication. A Github token (with public_repo
scope) must be provided via the GITHUB_TOKEN
environment variable to authenticate those requests.
$ export GITHUB_TOKEN=<your token>
$ clomonitor-linter --help
clomonitor-linter
Checks repository to verify it meets certain project health best practices
USAGE:
clomonitor-linter [OPTIONS] --path <PATH> --url <URL>
OPTIONS:
--check-set <CHECK_SET> Sets of checks to run [default: code community] [possible
values: code, code-lite, community, docs]
--format <FORMAT> Output format [default: table] [possible values: json, table]
-h, --help Print help information
--pass-score <PASS_SCORE> Linter pass score [default: 75]
--path <PATH> Repository local path (used for checks that can be done
locally)
--url <URL> Repository url [https://github.com/org/repo] (used for some
GitHub remote checks)
-V, --version Print version information
Please see CONTRIBUTING.md for more details.
You can find some general information about how to work on this repo in the architecture and the development environment setup documents.
This project follows the CNCF Code of Conduct.
CLOMonitor is an Open Source project licensed under the Apache License 2.0.