{"id":13564021,"url":"https://github.com/cncf/clomonitor","last_synced_at":"2025-04-12T22:37:27.144Z","repository":{"id":37032097,"uuid":"448045451","full_name":"cncf/clomonitor","owner":"cncf","description":"CLOMonitor is a tool that periodically checks open source projects repositories to verify they meet certain project health best practices","archived":false,"fork":false,"pushed_at":"2025-04-03T20:48:06.000Z","size":22821,"stargazers_count":125,"open_issues_count":19,"forks_count":84,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-04T02:09:39.910Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://clomonitor.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cncf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-14T17:06:04.000Z","updated_at":"2025-04-03T20:48:08.000Z","dependencies_parsed_at":"2023-10-13T04:47:32.175Z","dependency_job_id":"592a29ba-bc26-47a7-ac39-9150acb125f2","html_url":"https://github.com/cncf/clomonitor","commit_stats":{"total_commits":770,"total_committers":45,"mean_commits":17.11111111111111,"dds":"0.49870129870129876","last_synced_commit":"35ba9e621f022d472cc6462ae47aa4a95e91d0cd"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cncf%2Fclomonitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cncf%2Fclomonitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cncf%2Fclomonitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cncf%2Fclomonitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cncf","download_url":"https://codeload.github.com/cncf/clomonitor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248643008,"owners_count":21138353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T13:01:25.625Z","updated_at":"2025-04-12T22:37:27.122Z","avatar_url":"https://github.com/cncf.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# CLOMonitor\n\n[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/cncf/clomonitor)\n\n[**CLOMonitor**](https://clomonitor.io) is a tool that periodically checks open source projects repositories to verify they meet certain project health best practices.\n\n\u003cbr/\u003e\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd width=\"50%\"\u003e\u003cimg src=\"docs/screenshots/search-light.png?raw=true\"\u003e\u003c/td\u003e\n        \u003ctd width=\"50%\"\u003e\u003cimg src=\"docs/screenshots/search-dark.png?raw=true\"\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd width=\"50%\"\u003e\u003cimg src=\"docs/screenshots/project-light.png?raw=true\"\u003e\u003c/td\u003e\n        \u003ctd width=\"50%\"\u003e\u003cimg src=\"docs/screenshots/project-dark.png?raw=true\"\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd width=\"50%\"\u003e\u003cimg src=\"docs/screenshots/stats-light.png?raw=true\"\u003e\u003c/td\u003e\n        \u003ctd width=\"50%\"\u003e\u003cimg src=\"docs/screenshots/embed-report-light.png?raw=true\"\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n## Projects\n\n[clomonitor.io](https://clomonitor.io) lists most of the projects in the [CNCF](https://www.cncf.io/projects/), [LF AI \u0026 DATA](https://lfaidata.foundation/projects/) and [CDF](https://cd.foundation/projects/) foundations. If you notice that a project that belongs to any of those foundations is missing or has some incorrect or missing information, please feel free to submit a pull request with your suggested changes. The YAML data files for the registered foundations can be found in this repository, at the [/data](https://github.com/cncf/clomonitor/tree/main/data) path. **CLOMonitor** checks periodically those data files and applies the corresponding changes as needed.\n\nEvery project featured on [clomonitor.io](https://clomonitor.io) will be provided with a badge and report summary that is ready for use in your project repos. Simply click the menu dropdown on your project page and copy+paste the code snippet into your markdown as desired. An example can be seen in the [image shown above](docs/screenshots/embed-report-light.png).\n\n## Checks\n\n**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.\n\nChecks 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](./docs/checks.md) for more details.\n\n## Linter CLI\n\nThe CLOMonitor's linter can also be run locally or from CI workflows. This can be done by using the [container image](https://gallery.ecr.aws/clomonitor/linter) provided or by building the CLI tool from the source.\n\nCLOMonitor delegates some of the security checks to [OpenSSF Scorecard](https://github.com/ossf/scorecard). When building from the source, you'll need to [install it](https://github.com/ossf/scorecard#installation) before running `clomonitor-linter` locally. The container image already includes the `scorecard` binary, so if you opt for using it you are ready to go.\n\nBoth CLOMonitor and 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.\n\n### Using Docker\n\nYou can run the linter CLI tool from Docker by running the following command:\n\n```text\n$ export GITHUB_TOKEN=\u003cyour token\u003e\n\n$ docker run -it \\\n  --volume $PWD:/repo \\\n  --env GITHUB_TOKEN=$GITHUB_TOKEN \\\n  public.ecr.aws/clomonitor/linter clomonitor-linter \\\n    --path /repo \\\n    --url https://github.com/\u003corg\u003e/\u003crepo\u003e\n```\n\nNote: *the command assumes the current working directory is the repo you would like to lint. Please adjust the repo url as needed.*\n\n#### CI workflow integration\n\nAn example of how to integrate CLOMonitor's linter with GitHub Actions can be found [in the Artifact Hub repository](https://github.com/artifacthub/hub/blob/c73dafa519020415927665e14fb6eac1066120eb/.github/workflows/ci.yml#L46-L57).\n\n### Building from source\n\nYou can also build the CLOMonitor's linter CLI tool from the source by using [Cargo](https://rustup.rs), the Rust package manager:\n\n```text\n$ cargo install --git https://github.com/cncf/clomonitor clomonitor-linter\n\n$ clomonitor-linter --help\n```\n\n## Contributing\n\nPlease see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.\n\nYou can find some general information about how to work on this repo in the [architecture](./docs/architecture.md) and the [development environment setup](./docs/dev.md) documents.\n\n## Code of Conduct\n\nThis project follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).\n\n## License\n\nCLOMonitor is an Open Source project licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcncf%2Fclomonitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcncf%2Fclomonitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcncf%2Fclomonitor/lists"}