CI Integration
The repository CI workflow runs Ruff lint, strict mypy, pytest, a 1900–2100 calendar regression, MkDocs, package builds, Twine metadata checks, and clean wheel/sdist installation smoke tests.
For another CI system, consume JSON or SARIF output and use the process status:
betacal-printlint check export.svg --format sarif > printlint.sarif
Exit code 0 means no errors (warnings may still exist); 1 means one or more validation errors; 2 means command-line input was invalid.