# jss-lint — style checker for Journal of Statistical Software manuscripts

Version 1.2.0 (2026-09-09)

## Quick start

Try it instantly in the browser at
<https://kollerma.github.io/jss-style-checker/> (no install needed,
nothing is uploaded; pick a folder or drop an Overleaf source `.zip`),
or run `jsslint yourpaper.tex` after `cargo install jsslint-cli`.

## What it does

`jss-lint` checks manuscripts written for the *Journal of Statistical
Software* (JSS) — `.tex`, `.Rnw` (Sweave/knitr), or `.Rmd` sources plus
their BibTeX databases — against 62 deterministic rules derived from
the journal's published style guide: dedicated preamble macros
(`\Plainauthor`, `\Address`), semantic markup (`\proglang`, `\pkg`,
`\code`), natbib citation conventions, capitalization rules for titles,
sections, and captions, code-formatting conventions, and bibliography
completeness. Violations are reported with source positions and fix
suggestions; a large subset can be applied automatically, and a
reviewer mode aggregates the findings into a per-category compliance
summary.

The rule set's accuracy is measured, not assumed: per-rule precision
and recall are evaluated against a pinned corpus of 254 published
JSS-format manuscripts, and the current figures are published on the
project page.

## New in 1.2.0

- Every run reports the measured recall (currently 81%), so a run
  without findings no longer reads as proof of compliance.
- `jsslint coverage` lists which provisions of the JSS style guide,
  author instructions, `jss.cls`, and `article.tex` are checked and
  which are not (80 of 85 checkable directives).
- Baseline mode (`--baseline`, `--update-baseline`) reports only
  findings that are new since an accepted baseline.
- The browser version checks an Overleaf source `.zip` directly.
- Coloured terminal output (`--color auto|always|never`; honours
  `NO_COLOR`).

See `CHANGELOG.md` for the full list, including fixes.

## Contents of this archive

- `jss-lint.pdf` — the manual: a full description of the tool's
  design, the rule catalogue, usage for authors and reviewers, and the
  measured precision/recall methodology and results.
- `rule-catalogue.md` — the complete catalogue of the 62 rules, with
  description, severity, confidence tier, measured recall, the JSS
  source each enforces (with a pinpoint reference), and an example
  violation and fix per rule.
- `CHANGELOG.md` — release history.
- `LICENSE` — MIT.

The tool itself is compiled software distributed through the package
ecosystems listed below rather than as TeX code.

## Getting the tool

- Browser (no install, fully client-side — nothing is uploaded):
  <https://kollerma.github.io/jss-style-checker/>
- Command line: `cargo install jsslint-cli` (binary: `jsslint`)
- Python: `pip install jss-style-checker` (CLI: `jss-lint`) or
  `pip install jsslint`
- R: `install.packages("jsslintr")` (CRAN)
- VS Code: extension `kollerma.jss-style-checker`
  (Marketplace and Open VSX)
- Node/browser module: `npm install jsslint-wasm`
- CI: a GitHub Action, see the repository

Source code, documentation, and issue tracker:
<https://github.com/kollerma/jss-style-checker>

## License

MIT. See the LICENSE file.

## Independence notice

`jss-lint` is an independent, third-party project. It is **not**
affiliated with, endorsed by, or connected to the Journal of
Statistical Software, its editors, or its publisher — nor with the
`jss` LaTeX class hosted on CTAN. It merely checks manuscripts against
the journal's publicly documented style requirements.
