Home
What is Stylebook?
Library extension
A set of additional rules for static code analysis tools
Simplified CLI
One command to lint multiple file types
How does it work?
flowchart LR
subgraph "Project"
src(Source code)
config1[Optional config files]
end
subgraph "Static analysis"
linters[Linter libraries]
extensions[Rule extensions]
config2[Default config files]
end
subgraph "Report"
cli[Build failure<br>on lint errors]
end
subgraph "Refactor"
manual(Manual edits<br>using suggestions)
end
src -- run --> linters
extensions -- CLI --> cli
cli -- fix --> manual
Support list¶
Extended linters have extra custom rules. Linters with API prints unified output message while messages printed by binary calls cannot be modified.
| Markup documents | Linter | Identifiers | Config file | Extended | API |
|---|---|---|---|---|---|
| AsciiDoc | AsciiDoc-Linter Website |
|
|||
| CSS | Stylelint NPM Website |
|
Stylelint configuration | ||
| LaTeX | ChkTeX Website |
|
.chktexrc |
||
| HTML | HTMLHint NPM Website |
|
.htmlhintrc |
||
| Markdown | markdownlint NPM |
|
.markdownlint.json |
||
| reStructuredText | restructuredtext-lint PyPI |
|
|||
| Serialization formats | Linter | Identifiers | Config file | Extended | API |
| Amazon State Language | asl-validator NPM |
|
|||
| CSV | csvlint pkgsite |
|
|||
| JSON | JSON Lint NPM Website |
|
.jsonlintrc.json |
||
| Protobuf | protolint pkgsite |
|
.buf.yaml |
||
| TOML | py-taplo PyPI Website |
|
.taplo.toml |
||
| YAML | yamllint PyPI |
|
.yamllintrc.yaml |
||
| XML | libxml2 |
|
|||
| Query languages | Linter | Identifiers | Config file | Extended | API |
| GraphQL | graphql-schema-linter NPM |
|
.graphql-schema-linterrc |
||
| SQL | SQLFluff PyPI Website |
|
.sqlfluff |
||
| Scripting languages | Linter | Identifiers | Config file | Extended | API |
| Batch | Blinter PyPI |
|
blinter.ini |
||
| Shell | ShellCheck Website |
|
.shellcheckrc |
||
| Key-value pairs | Linter | Identifiers | Config file | Extended | API |
| Dotenv | dotenv-linter PyPI Website |
|
|||
| INI | pyinilint PyPI |
|
|||
| Properties | propertieslint pkgsite Website |
|
.propertieslint.json |
||
| Configuration files | Linter | Identifiers | Config file | Extended | API |
| Ansible | Ansible Lint PyPI Website |
|
|||
| AWS CloudFormation | CloudFormation Linter PyPI |
|
.cfnlintrc.yaml |
||
| Dockerfile | hadolint |
|
.hadolint.yaml |
||
| GitHub Actions | actionlint pkgsite Website |
|
|||
| Kubernetes | KubeLinter pkgsite Website |
|
.kubelinter-config.yaml |
||
| Makefile | checkmake pkgsite |
|
.checkmake.ini |
||
| Tekton | tekton-lint NPM |
|
.tektonlintrc.yaml |
||
| Terraform | TFLint pkgsite |
|
.tflint.hcl |
||
| Diagram tools | Linter | Identifiers | Config file | Extended | API |
| Mermaid | mermaid-lint NPM Website |
|
|||
| Build tools | Linter | Identifiers | Config file | Extended | API |
| Go modules | gomoddirectives pkgsite |
|
|||
| Lockfile | lockfile-lint NPM |
|
Download¶
Get the artifacts from official package managers.