Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/amdmi3/omnilinter-rules-amdmi3
https://github.com/amdmi3/omnilinter-rules-amdmi3
Last synced: about 4 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/amdmi3/omnilinter-rules-amdmi3
- Owner: AMDmi3
- License: cc0-1.0
- Created: 2024-04-03T22:37:10.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-04-22T17:45:12.000Z (7 months ago)
- Last Synced: 2024-04-22T19:10:06.860Z (7 months ago)
- Size: 12.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [AMDmi3](https://github.com/AMDmi3)'s omnilinter rules
[![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)
Feel free to use as example and as a base for your ruleset.
List of checks and considerations (not comprehensive):
## Ruleset summary
### projects.conf - ruleset for my F/OSS projects
- General
- Require README
- Require LICENSE
- Require CI pipeline
- Require CI badge in README
- Migrate off coveralls as a coverage service
- Migrate off travis as a CI service
- General source files
- Require license info on SPDX format
- Detect trailing whitespace
- Detect commit markers
- Highlight XXX, TODO, FIXME items
- Github actions
- Update used actions to latest versions
- Specify codecov token (is now required)
- Enable dependabot for rust projects
- Update container versions (ubuntu-latest or ubuntu-rolling if custom image is used)
- Rust
- Highlight `[ignore]`d tests
- Require documentation
- Cargo
- Require some manifest fields
- Makefiles [^1]
- Require `all` target to be defined
- Require tabs indentation
- Make sure compiler and flags are overridable
- Make sure install is relative to DESTDIR
- CMake
- Use lowercase commands
- Always use GNUInstallDirs paths when installing
- Specify `VERSION` and `LANGUAGES` in `project()`
- Set C++ standard with `CMAKE_CXX_STANDARD`, not flags
- Update to latest C++ standard
- Update to latest CMake
- Require linking third party libraries through targets
- C++
- Convert include guards to `#pragma once`
- Python
- Require `pyproject.toml`
- Type annotation modernizations[^1]: I dont really write these, so rules are given as example or for
third party code checking.### freebsd-ports.conf - ruleset for FreeBSD ports
- Require `LICENSE`, `LICENSE_FILE`
- Enforce consistent install target names `do-install*` vs. `post-intstall*`
- Move distfiles off my mirror
- Add GitHub and PyPI `WWW`'s
- Convert from `USES=pytest` to `USE_PYTHON=pytest`
- Silent/verbose commands consistency
- Enforce patch upstreaming
- Highlight deprecated ports## Author
* [Dmitry Marakasov](https://github.com/AMDmi3)
## License
* [CC0](LICENSE)