.PHONY: help docs-index docs-build docs-serve docs-check slides test

help:
	@echo "Targets:"
	@echo "  docs-index   Regenerate docs/{hardware,services}/index.md from per-item frontmatter"
	@echo "  docs-build   Build the static MkDocs site into ./site (strict)"
	@echo "  docs-serve   Run a live-reload local preview server"
	@echo "  docs-check   Drift-check: regenerate indices, fail if they differ from the committed copies"
	@echo "  slides       Run build-slides.sh (Marp slides)"
	@echo "  test         Run the Python unit tests (pytest)"

docs-index:
	python3 scripts/gen_overview.py --category hardware
	python3 scripts/gen_overview.py --category services
	python3 scripts/gen_rack.py

docs-build:
	mkdocs build --strict

docs-serve:
	mkdocs serve

docs-check:
	python3 scripts/gen_overview.py --category hardware
	python3 scripts/gen_overview.py --category services
	python3 scripts/gen_rack.py
	git diff --exit-code docs/hardware/index.md docs/services/index.md docs/infrastructure/racks/

slides:
	./build-slides.sh

test:
	pytest -q
