Stylebook
Linter aggregator for various data formats. All linters are preconfigured with common rules like duplicate blank lines, trailing whitespace and consistent indentation. In Markdown, it has third-party rules to check dead links and broken images.
| Runner | File type | Linter |
|---|---|---|
| Go | CSV |
csvlint
with RFC 4180 |
| Dockerfile |
Hadolint
with Docker Build Best Practices |
|
| GitHub Actions | actionlint | |
| Go Module | gomoddirectives | |
| Kubernetes | kube-linter | |
| LaTeX | ChkTeX | |
| Makefile | checkmake | |
| Properties | propertieslint | |
| Protobuf |
protolint
with Protobuf Style Guide |
|
| Shell | ShellCheck | |
| Terraform |
TFLint
with Terraform Style Guide |
|
| XML | libxml2 | |
| Python | Ansible | ansible-lint |
| AsciiDoc | AsciiDoc-Linter | |
| AWS CloudFormation | CloudFormation Linter | |
| Batch | Blinter | |
| Dotenv | dotenv-linter | |
| INI | PyINILint | |
| reStructuredText | restructuredtext-lint | |
| SQL |
SQLFluff
with Mozilla SQL Style Guide |
|
| TOML |
Taplo
with TOML Quick Tour |
|
| YAML |
yamllint
with YAML Best Practices |
|
| Node | Amazon State Language | asl-validator |
| CSS |
Stylelint
with Mozilla CSS Coding Guide |
|
| GraphQL | graphql-schema-linter | |
| HTML |
HTMLHint
with Mozilla HTML Style Guide |
|
| JSON | JSON Lint | |
| Lockfile | lockfile-lint | |
| Markdown |
markdownlint
with Adobe Markdown Basics |
|
| Mermaid | Maid | |
| Tekton | tekton-lint |
Download
Several linters must be installed separatedly, preferably at OS level:
- ChkTeX
- Hadolint
- ShellCheck
- libxml2
Go
Most linters are brought in as dependencies, others can be installed selectively.
go install github.com/hanggrian/stylebook@latest
go install github.com/checkmake/checkmake/cmd/checkmake@latest
go install github.com/terraform-linters/tflint@latest
PyPI
All linters are brought in as optional dependencies, exclude the ones you don't need.
pip install "stylebook[ \
ansible-lint, \
asciidoc-linter, \
blinter, \
cfn-lint, \
dotenv-linter, \
pyinilint, \
sqlfluff, \
taplo, \
yamllint, \
restructuredtext-lint \
]"
NPM
Most linters are brought in as optional dependencies, except for Stylelint,
which needs to be installed in the root package.json.
npm i @hanggrian/stylebook \
stylelint \
@stylistic/stylelint-plugin \
stylelint-config-recommended --save-dev
Usage
Insert target paths into the command. The program will recursively search for qualifying file types and spawn the corresponding linter processes.
stylebook . # Go binary
npx @hanggrian/stylebook some-folder/ some-file.sql
source .venv/bin/activate && stylebook **/*
Configuration
Configuration files are automatically picked up. If the file doesn't exist, the
program will use default configuration. If .stylebookrc exists in the root
project directory, it will be used as exclusion list.
Metadata
Release files for stylebook 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| stylebook-0.3.1.tar.gz | 10.4 kB | Without provenance | Details for stylebook-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| stylebook-0.3.1-py3-none-any.whl | Python 3 | none | any | Details for stylebook-0.3.1-py3-none-any.whl |
Total release size: 27.3 kB
Release files / stylebook-0.3.1.tar.gz
| Download URL | stylebook-0.3.1.tar.gz |
|---|---|
| Size | 10.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
229b795594d27ab645ad104662cb179075b18d93d08ebdfb5af61885e4334cbc
|
|
BLAKE2b-256 checksum How to use checksums |
7e80e5c867c5b1f87bd50e28993a86774e3cff32930a2bacd239df8bc39620fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.15.0
|
Release files / stylebook-0.3.1-py3-none-any.whl
| Download URL | stylebook-0.3.1-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bbccf6de55c871bfd76c0a4b366c6fc2b65203147eed002ed9d073acfb23f411
|
|
BLAKE2b-256 checksum How to use checksums |
d5bc06db49f15cf40176db5f4c1e18b032b0ec3a6ec9dc69f74dd2d9859f3efc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.15.0
|
Security for stylebook 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.