This #awesome-ci-based[1] repository holds a collection of cross-platform compatible Makefiles for various different types of projects, which will add the very basic and best-practice linting and file checking to your code.
The default provided stage is lint
[2] and will ensure your code is clean, git-diff
safe and according to best practices (depending on whatever linter configuration is provided).
- [1] See all awesome-ci projects here: https://github.com/topics/awesome-ci
- [2] Some Makefiles might provide more targets (e.g.:
test
,gen
, ...).
Project type | Description |
---|---|
generic | Makefile for generic projects |
terraform-module | Makefile for Terraform module (for Terraform < 0.12 and >= 0.12) |
- Docker
- GNU Make
Copy the appropriate Makefile to your project root and you're all set. The only required dependencies are Docker and GNU Make.
The general usage will always be:
$ make lint
For a more specific description see the project's README.md in each collection.
Related #awesome-ci Docker images
Dependency-less Makefiles made possible by the following Docker images.
Docker image | Type | Description |
---|---|---|
awesome-ci | Basic | Tools for git, file and static source code analysis |
file-lint | Basic | Basic source code analysis |
jsonlint | Basic | Lint JSON files |
yamllint | Basic | Lint Yaml files |
ansible | Ansible | Multiple versions of Ansible |
ansible-lint | Ansible | Lint Ansible |
gofmt | Go | Format Go source code |
golint | Go | Lint Go code |
eslint | Javascript | Lint Javascript code |
checkmake | Make | Lint Makefiles |
phpcs | PHP | PHPCodeSniffer and Code Beautifier and Fixer |
black | Python | The uncompromising Python code formatter |
pycodestyle | Python | Python style guide checker |
pylint | Python | Python source code, bug and quality checker |
terraform-docs | Terraform | Terraform doc generator (TF 0.12 ready) |
terragrunt | Terraform | Terragrunt and Terraform |
See guidelines here: CONTRIBUTING
Copyright (c) 2019 cytopia