crstlint
cRSTLint
Copyright (C) 2025 Rénich Bon Ćirić
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
RST format checker and linter using the crst parser.
Installation
git clone https://gitlab.com/renich/crstlint.git
cd crstlint
shards install
crystal build -o bin/crstlint bin/crstlint
Usage
Check a single file:
crstlint document.rst
Check multiple files:
crstlint file1.rst file2.rst
Recursively check a directory:
crstlint --recursive docs/
Read from stdin:
cat document.rst | crstlint
JSON output:
crstlint --format json document.rst
Features
- RST syntax validation
- Document structure checking
- Unknown directive detection
- Reference validation
- Multiple output formats (human-readable, JSON)
Configuration
cRSTLint can be configured using a .crstlintrc.yml file in your project root:
allowed_directives:
- code-block
- note
- warning
max_section_jump: 1
experimental:
broken_references: true
See the included .crstlintrc.yml for all options.
Development
git config core.hooksPath .githooks # Enable Git hooks
make deps # Install dependencies
make test # Run tests
make lint # Run linting
make build # Build binary
make setup # Full development setup
See CONTRIBUTING.rst for detailed development instructions.
crstlint
- 0
- 0
- 0
- 0
- 2
- 8 days ago
- November 20, 2025
GNU General Public License v3.0 only
Sat, 29 Nov 2025 04:57:27 GMT