Documentation for the autonomous KART project.
📘 Live site: https://um-driverless.github.io/kart_docs/
🧠 Main source: Notion Kart Documentation
Built with MkDocs using the Material theme.
Just run install.sh in Linux or macOS:
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | shFor other installation methods, see uv documentation.
Clone the repo and set up the project:
git clone git@github.com:UM-Driverless/kart_docs.git
cd kart_docs
uv sync
uv run playwright install --force chromeThis:
- Creates a virtual environment and installs dependencies
- Downloads a headless Chrome browser for PDF export
uv run mkdocs serveYou can then access the documentation in your web browser, usually at http://127.0.0.1:8000.
To test the build before pushing (recommended):
uv run mkdocs build --strict
# Output: site/The --strict flag will catch errors like broken links, missing files, and invalid configuration - the same checks that run in CI.
Deployment to GitHub Pages happens automatically via GitHub Actions when you push to the main branch.
The workflow will:
- Build the documentation with
--strictflag - Deploy to GitHub Pages if the build succeeds
- Site will be available at: https://um-driverless.github.io/kart_docs/
If needed, you can still deploy manually:
uv run mkdocs gh-deployThis documentation includes LLM-optimized formats following the llms.txt standard:
- llms.txt: Sitemap-style overview of all documentation pages
- llms-full.txt: Complete documentation content in one consumable file
These files are automatically generated during the build process and are available at:
- Live site: https://um-driverless.github.io/kart_docs/llms.txt
- Live site: https://um-driverless.github.io/kart_docs/llms-full.txt
To manually generate the LLM files:
uv run python generate_llm_files.pyThis documentation includes advanced BOM (Bill of Materials) management features:
When you build the docs, the following happens automatically:
- Searchable parts table - Dynamically generated from all
bom.yamlfiles - Cost summaries - Total costs by assembly, status, and criticality
- Filterable by - Assembly, status, category, or search text
- Sortable columns - Click any column header to sort
These features are enabled by the generate_bom_hook.py MkDocs hook.
Generate comprehensive reports (JSON + CSV):
./generate_bom_reports.shOr manually:
uv run python scripts/aggregate_bom.py --output-dir reports/bom --format bothOutputs:
reports/bom/bom_complete_report.json- Complete data (costs, suppliers, status)reports/bom/bom_assembly_costs.csv- Cost breakdown by assemblyreports/bom/bom_all_components.csv- All components in spreadsheet format
- Navigate to appropriate assembly folder:
docs/assembly/steering/ - Edit
bom.yamlfile - Add component using YAML format
- Component automatically appears in searchable table on next build
See the BOM page for complete documentation and searchable parts table.
PDF export is disabled by default to speed up builds. To export PDFs explicitly:
EXPORT_PDF=true uv run mkdocs build
# Outputs: site/pdf/kart-documentation.pdfmain→ Markdown source (all edits go here)gh-pages→ Legacy deployment branch (can be deleted if using GitHub Actions)