Check Reference
kapi check runs a set of checks over source content and reports each finding
under a stable rule id, such as hygiene.doubled-word. The list below gives
every check with the rule ids it reports; each check's page says what each rule
reports, at which severity, and what fixes it.
The rule id's first segment is the rule family, which differs from the name
the code registers the check under: the content-lint check reports under
hygiene. A finding names the family, so the family is what to look up here.
The list is generated from the code: the checks, their families and their rule ids come from the check package, and a CI drift gate fails the build when the committed dataset and the code disagree.
| Check | Rule ids | What it checks |
|---|---|---|
| Content Lint | hygiene.emptyhygiene.leading-whitespacehygiene.trailing-whitespacehygiene.double-spaceshygiene.doubled-wordhygiene.control-char | Report the text-hygiene defects of a single source text, covering emptiness, stray whitespace, spacing and repetition. |
| Length Check | length.max-chars-exceededlength.max-words-exceeded | Hold each source block to an absolute character or word limit. |
| Pattern Check | pattern.forbidden-patternpattern.pattern-missing | Require a pattern to appear in every source block, or forbid one from appearing at all. |
| Comment Style | comment.sentence-lengthcomment.lengthcomment.density | Hold the comments in source files to the sentence and comment word limits a voice profile sets for them. |
The voice and terminology checks are configured by the project's context, not by a flag, and their rules are the ones a voice profile or a terms store declares. Checks describes the report they share with the checks above, the verdict, and what fails.