This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the Use Case Tree Method documentation site, published at https://method.ekgf.org. It uses MkDocs with the Material theme to generate a static documentation site from Markdown files.
make install # Full setup (Homebrew packages + Python via uv)
uv sync # Install Python dependencies onlymake docs-serve # Serve with live reload (strict mode)
make docs-serve-fast # Quick serve
make docs-serve-fresh # Clean diagrams first, then servemake docs-build # Build site to /site directory
make docs-build-clean # Clean buildmake lint # Python linting (ruff)
npm run lint:md # Markdown lintingmake info # Show environment versions
make clean # Remove .venv, site/, lock files
make docs-sync # Sync with sibling projects (ekg-maturity, ekg-principles)- docs/ - Markdown source files organized by domain (concept/, objective/, process/, vocab/)
- docs/diagrams/ - PlantUML diagrams with auto-generated SVGs in out/
- docs/fragment/ - Reusable Markdown snippets included across pages
- docs/main.py - MkDocs hook that injects objective badges
- docs-overrides/ - Template overrides synced with sibling projects
- mkdocs.yml - MkDocs configuration with plugins
- site/ - Generated output (never edit)
Navigation structure is defined by .pages.yaml files
(awesome-pages plugin).
- 70-character line length (strictly enforced by linter)
- Use
-for unordered lists - Sentence case for headers (not Title Case)
- Do not trim trailing whitespace
- NEVER execute
git push- users must push manually - NEVER bypass hooks with
--no-verify - NEVER use
git merge- always usegit rebasefor linear history - Commit only when explicitly requested
For commit message format, see CONTRIBUTING.md
- Python 3.14.2+ with
uvpackage manager - System packages: cairo, pango, freetype, graphviz (for diagram rendering)
- Node.js for linting tools (commitlint, markdownlint, prettier)