Overview
What knowledge-lint checks, where it stops, and how this documentation is organised.
knowledge-lint validates a knowledge base made of Markdown files with YAML frontmatter: a
directory of category folders, declared in one _types.yml. It is a single Rust binary, so it
behaves the same locally and in CI, without an interpreter or package manager.
It was extracted from ai-knowledge-template, but works with any knowledge directory that follows the same conventions.
What it checks
- Every folder is a declared category, and every entry’s
typematches its category. - Required frontmatter fields, allowed
statusvalues and validlast_revieweddates. - Overdue reviews for entries that are still marked active.
relatedlinks and_attachments.ymlreferences point to files that exist.- Secrets are SOPS-encrypted, and entries contain no plaintext keys.
Where it stops
knowledge-lint checks structure and metadata, not prose. It does not decrypt secrets, does not judge whether an entry is correct, and does not let you rename the frontmatter fields.
How the docs are organised
- Getting started: install the binary and lint a first knowledge base.
- Guides: configuring
_types.yml, secrets and attachments, CI usage. - Reference: frontmatter, every rule and the CLI. The normative schema is in SPEC.md.