Installation

# Add this to your shard.yml
dependencies:
  crstlint:
    gitlab: renich/crstlint
    version: ~> 1.0.0

Then run:

shards install

shard.yml

Crystal
1.17.1
License
GPL-3.0
Author
Rénich Bon Ćirić
Target
  • crstlint from bin/crstlint.cr

Dependencies

Runtime Dependencies

  • crst*gitlab: renich/crst

Development Dependencies

  • ameba~> 1.0github: crystal-ameba/amebadev

README

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.