This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the Qualytics User Guide documentation repository, built with Material for MkDocs. It documents the Qualytics data quality platform.
# Activate virtual environment first
source venv/bin/activate
# Serve documentation locally (default: http://localhost:8000)
mkdocs serve
# Serve on custom port
mkdocs serve -a localhost:8080
# Build static site
mkdocs build
# Run spell check
pre-commit run --all-filespython3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pre-commit installdocs/- All documentation markdown filesmkdocs.yml- Site configuration, navigation tree, and pluginsdocs/components/- Reusable markdown snippets (anomaly-support, comparators, general-props)overrides/- MkDocs theme customizationsdocs/assets/- Images and static filescontributing/check-content-template-guide.md- Template for writing quality check rule documentation
Quality check documentation uses include-markdown to pull in shared content:
{%
include-markdown "components/general-props/index.md"
start='<!-- all-props--start -->'
end='<!-- all-props--end -->'
%}Available component arguments:
- General props:
all-props,filter-only,coverage-only,none-props - Anomaly support:
all-types,record-only,shape-only
When documenting a quality check rule, follow contributing/check-content-template-guide.md:
- Definition
- In-Depth Overview (optional)
- Field Scope (Single/Multiple/Calculated) with Accepted Types table
- General Properties (via include-markdown)
- Specific Properties
- Anomaly Types (via include-markdown)
- Example with: Objective, Sample Data table, Anomaly Explanation, Flowchart (mermaid), SQL query, Potential Violation Messages
The repository uses typos via pre-commit for spell checking. Custom word allowances are in .typos.toml. Files in docs/assets/, venv/, and dotfiles are excluded.
The repository uses two pre-commit hooks (configured in .pre-commit-config.yaml):
- typos - Spell checking across all docs (custom words in
.typos.toml) - mkdocs-warnings - Runs
mkdocs buildand surfaces anyWARNINGlines (broken links, missing nav entries, etc.)
Run all hooks manually:
pre-commit run --all-filesThe mkdocs.yml has a validation section that controls which link/reference issues produce warnings during build. The current pre-commit hook runs mkdocs build in non-strict mode and reports warnings without failing the build — this is intentional to avoid blocking commits on acceptable warnings.
If stricter validation is needed in the future:
- Granular control: Expand the
validationsection inmkdocs.ymlto enable/disable specific checks (anchors, absolute links, unrecognized links, omitted nav files) - Strict mode: Change the hook to use
mkdocs build --strictto turn all warnings into errors (only do this after resolving or filtering out all existing warnings) - Filtered strict mode: Keep non-strict but update the hook's grep to exclude known acceptable warning patterns and fail on the rest
# Example: expanded validation config in mkdocs.yml
validation:
nav:
omitted_files: info
absolute_links: warn
links:
anchors: warn
absolute_links: warn
unrecognized_links: warnAdditional tools that can be added to .pre-commit-config.yaml for catching more issues:
- markdownlint-cli2 - Catches malformed tables, inconsistent list formatting, missing blank lines around fences
- lychee - Validates all links including images, anchors, and external URLs