Check types reference#

The check types katalyst runs against each item, grouped by family. These pages are generated from the checks registry, so they always match the shipped binary.

Structured object#

Structured-object check types validate structured frontmatter fields using schema-backed checks.

  • Field enum: Require that a field is one of a fixed set of values.
  • Field type: Require that a frontmatter field has a specific type.
  • Number range: Constrain a numeric field to a minimum and/or maximum value.
  • Required field: Require that a frontmatter field exists.
  • Sentence case: Require a string field to read as sentence case, not Title Case.
  • String length: Constrain the minimum and/or maximum length of a string field.
  • Unique field: Require that no two items share a value for a frontmatter field.
  • Object validation: Validate frontmatter metadata against a named JSON Schema from schemas:.

Markdown body text#

Markdown body-text check types validate relationships between frontmatter metadata and markdown body content.

  • Code fence language required: Require that opening fenced code blocks include a language tag.
  • No heading level jumps: Disallow jumps larger than one heading level (for example H1 -> H3).
  • Required section: Require that a heading with specific text exists somewhere in the body.
  • Requires H1: Require at least one H1 heading in the markdown body.
  • Single H1: Require that the markdown body contains at most one H1 heading.
  • Title matches H1: Require a frontmatter field to match the first H1 heading in the body.
  • Writing tells: Warn on likely AI-writing tells (em dashes, decorative emoji, overused words, stock phrases) for human review.

File system#

File-system check types validate filename and path conventions for items.

  • Extension in: Allow only specific file extensions.
  • Index file required: Require that every directory containing items has an index file.
  • Name affix: Require a name to start with a prefix and/or end with a suffix.
  • Name case: Require a name (or path segments) to follow a case style.
  • Name length: Bound the character length of a name.
  • Name matches field: Require a name to equal a frontmatter field, optionally slugified.
  • Name regex: Require a name to match a regular expression (anchored).
  • Parent directory in: Require that the file’s parent directory name is in an allowed set.
  • Parent directory matches field: Require the parent directory name to equal a frontmatter field.
  • Path charset: Constrain the characters allowed in the item’s path.
  • Path depth: Bound directory nesting relative to the collection root.
  • Referenced files exist: Require path-valued frontmatter fields to resolve to real files.
  • Unique filename: Require that no two items in the collection share a basename.
  • Unmatched files: Report regular files under a filesystem scope that match neither include nor exclude patterns.

Plain text#

Plain-text check types validate body content as raw text, independent of markdown structure. They apply to plain-text items as well as markdown bodies.

  • Denylist: Forbid any of a list of literal substrings in the body text.
  • Forbids: Forbid a regular expression from appearing in the body text.
  • Requires: Require a regular expression to appear in the body text.