Module Bushel.Lint

Lint checks for broken references, unknown fields, and missing content.

Lint checks for Bushel knowledge base entries

type severity =
  1. | Warning
  2. | Error
type issue = {
  1. severity : severity;
  2. slug : string;
  3. category : string;
  4. message : string;
}
type result = {
  1. issues : issue list;
  2. entries_checked : int;
}

Known frontmatter fields per entry type

val note_fields : string list
val paper_fields : string list
val idea_fields : string list
val video_fields : string list
val project_fields : string list

Slug reference checks

val check_slug_references : Bushel__.Bushel_entry.t -> issue list

Markdown reference checks

val check_markdown_references : Bushel__.Bushel_entry.t -> issue list

Missing content checks

val check_missing_content : Bushel__.Bushel_entry.t -> issue list

Unknown field checks

val check_unknown_fields : (string * string list * string list) list -> issue list

Main entry point

val run : Bushel__.Bushel_entry.t -> issue list