package

gitlab.com/renich/crstlint

1.0.0 / published Nov 20, 2025 / repository

RST format checker and linter using crst parser

cRSTLint

pipeline status coverage report

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:

./bin/crstlint document.rst

Check multiple files:

./bin/crstlint file1.rst file2.rst

Read from stdin:

cat document.rst | ./bin/crstlint

JSON output:

./bin/crstlint --format json document.rst

Features

  • RST syntax validation
  • Document structure checking
  • Unknown directive detection
  • Reference validation
  • Multiple output formats (human-readable, JSON)

Development

make deps    # Install dependencies
make test    # Run tests
make lint    # Run linting
make build   # Build binary
make setup   # Full development setup

See CONTRIBUTING.md for detailed development instructions.

API