{"id":20757826,"url":"https://github.com/amdmi3/omnilinter-rules-amdmi3","last_synced_at":"2026-03-16T01:17:08.007Z","repository":{"id":231579087,"uuid":"781714015","full_name":"AMDmi3/omnilinter-rules-amdmi3","owner":"AMDmi3","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-22T17:45:12.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-26T12:53:11.475Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AMDmi3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2024-04-03T22:37:10.000Z","updated_at":"2024-04-22T17:45:16.000Z","dependencies_parsed_at":"2024-04-22T19:02:56.686Z","dependency_job_id":"13f5200d-063a-482a-b74a-70bf30dcc8ec","html_url":"https://github.com/AMDmi3/omnilinter-rules-amdmi3","commit_stats":null,"previous_names":["amdmi3/omnilinter-rules-amdmi3"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AMDmi3/omnilinter-rules-amdmi3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMDmi3%2Fomnilinter-rules-amdmi3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMDmi3%2Fomnilinter-rules-amdmi3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMDmi3%2Fomnilinter-rules-amdmi3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMDmi3%2Fomnilinter-rules-amdmi3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AMDmi3","download_url":"https://codeload.github.com/AMDmi3/omnilinter-rules-amdmi3/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AMDmi3%2Fomnilinter-rules-amdmi3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30557768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-15T23:30:23.986Z","status":"ssl_error","status_checked_at":"2026-03-15T23:28:43.564Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-11-17T09:45:27.189Z","updated_at":"2026-03-16T01:17:07.947Z","avatar_url":"https://github.com/AMDmi3.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# [AMDmi3](https://github.com/AMDmi3)'s omnilinter rules\n\n[![CI](https://github.com/AMDmi3/omnilinter-rules-amdmi3/actions/workflows/ci.yml/badge.svg)](https://github.com/AMDmi3/omnilinter-rules-amdmi3/actions/workflows/ci.yml)\n\nFeel free to use as example and as a base for your ruleset.\n\nList of checks and considerations (not comprehensive):\n\n## Ruleset summary\n\n### projects.conf - ruleset for my F/OSS projects\n\n- General\n  - Require README\n  - Require LICENSE\n  - Require CI pipeline\n  - Require CI badge in README\n  - Migrate off coveralls as a coverage service\n  - Migrate off travis as a CI service\n- General source files\n  - Require license info on SPDX format\n  - Detect trailing whitespace\n  - Detect commit markers\n  - Highlight XXX, TODO, FIXME items\n- Github actions\n  - Update used actions to latest versions\n  - Specify codecov token (is now required)\n  - Enable dependabot for rust projects\n  - Update container versions (ubuntu-latest or ubuntu-rolling if custom image is used)\n- Rust\n  - Highlight `[ignore]`d tests\n  - Require documentation\n- Cargo\n  - Require some manifest fields\n- Makefiles [^1]\n  - Require `all` target to be defined\n  - Require tabs indentation\n  - Make sure compiler and flags are overridable\n  - Make sure install is relative to DESTDIR\n- CMake\n  - Use lowercase commands\n  - Always use GNUInstallDirs paths when installing\n  - Specify `VERSION` and `LANGUAGES` in `project()`\n  - Set C++ standard with `CMAKE_CXX_STANDARD`, not flags\n  - Update to latest C++ standard\n  - Update to latest CMake\n  - Require linking third party libraries through targets\n- C++\n  - Convert include guards to `#pragma once`\n- Python\n  - Require `pyproject.toml`\n  - Type annotation modernizations\n\n[^1]: I dont really write these, so rules are given as example or for\nthird party code checking.\n\n### freebsd-ports.conf - ruleset for FreeBSD ports\n\n- Require `LICENSE`, `LICENSE_FILE`\n- Enforce consistent install target names `do-install*` vs. `post-intstall*`\n- Move distfiles off my mirror\n- Add GitHub and PyPI `WWW`'s\n- Convert from `USES=pytest` to `USE_PYTHON=pytest`\n- Silent/verbose commands consistency\n- Enforce patch upstreaming\n- Highlight deprecated ports\n\n## Author\n\n* [Dmitry Marakasov](https://github.com/AMDmi3) \u003camdmi3@amdmi3.ru\u003e\n\n## License\n\n* [CC0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famdmi3%2Fomnilinter-rules-amdmi3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famdmi3%2Fomnilinter-rules-amdmi3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famdmi3%2Fomnilinter-rules-amdmi3/lists"}