VBC Documentation¶
This directory contains the source files for VBC documentation, built with MkDocs and Material for MkDocs.
Building Documentation¶
Install Dependencies¶
# Install all dependencies including docs
uv sync --extra docs
# Or with pip
pip install -e ".[docs]"
Build Static Site¶
Serve Locally¶
# Start development server with live reload
uv run mkdocs serve
# Open browser at http://127.0.0.1:8000
Deploy to GitHub Pages¶
Documentation Structure¶
docs/
├── index.md # Homepage
├── getting-started/ # Installation, quickstart, configuration
├── architecture/ # Design documentation
├── user-guide/ # CLI reference, runtime controls, advanced features
├── api/ # Auto-generated API reference
└── development/ # Contributing, testing, migration guides
Adding Pages¶
- Create
.mdfile in appropriate directory - Add entry to
navsection inmkdocs.yml - Rebuild:
uv run mkdocs build
API Documentation¶
API reference is auto-generated from docstrings using mkdocstrings.
To add a new module:
Features¶
- Material Theme: Modern, responsive design
- Search: Full-text search across all pages
- Code Highlighting: Syntax highlighting for Python, Bash, YAML
- Auto-generated API: API docs from docstrings (Google style)
- Navigation: Tabbed navigation, expandable sections
- Dark Mode: Automatic light/dark mode switching
Requirements¶
- Python 3.12+
- mkdocs >= 1.5.3
- mkdocs-material >= 9.5.0
- mkdocstrings[python] >= 0.24.0
- pymdown-extensions >= 10.7
See pyproject.toml for exact versions.
Troubleshooting¶
"Could not collect module"¶
If mkdocstrings can't find modules, ensure:
- VBC is installed in editable mode:
uv pip install -e . - All packages have
__init__.pyfiles paths: [.]is set in mkdocs.yml
"Black or Ruff not installed"¶
This is a warning, not an error. Signature formatting will work without Black/Ruff, just with slightly different formatting.
To suppress:
License¶
Documentation is part of the VBC project and follows the same license.