LemonCore.Quality.DocsCheck (lemon_core v0.1.0)

View Source

Lints documentation metadata and link integrity.

Checks include:

  • catalog entries include ownership and freshness metadata
  • catalog entries point to existing files
  • tracked docs files are registered in the catalog
  • local markdown links resolve to existing files

Summary

Functions

Runs all documentation quality checks.

Types

issue()

@type issue() :: %{code: atom(), message: String.t(), path: String.t() | nil}

report()

@type report() :: %{
  root: String.t(),
  checked_files: non_neg_integer(),
  issue_count: non_neg_integer(),
  issues: [issue()]
}

Functions

run(opts \\ [])

@spec run(keyword()) :: {:ok, report()} | {:error, report()}

Runs all documentation quality checks.

Checks include:

  • Catalog coverage - all tracked docs are in catalog
  • Entry shape validation - all required fields present and valid
  • File existence - catalog entries point to existing files
  • Freshness - documents reviewed within max_age_days
  • Link integrity - local markdown links resolve to existing files

Returns {:ok, report} if no issues found, {:error, report} otherwise.

Options

  • :root - root directory to check (defaults to current working directory)
  • :today - date to use for freshness checks (defaults to today)