.PHONY: help setup decisions-sync decisions-coverage decisions-active decisions-orphan \ db-backup setup-hooks pre-pr clean help: @echo "{Project Name} — Development Commands" @echo "" @echo " make setup Install dev dependencies and initialize DB" @echo " make setup-hooks Install pre-commit hooks" @echo " make decisions-sync Sync decisions/*.md into SQLite" @echo " make decisions-coverage Decision-to-ticket coverage" @echo " make decisions-active List active decisions" @echo " make decisions-orphan Decisions without tickets" @echo " make pre-pr Run pre-PR checks" @echo " make clean Remove build artifacts" setup: setup-hooks decisions-sync @echo "Dev environment ready." setup-hooks: @git config core.hooksPath .config/hooks @echo "Git hooks path set to .config/hooks" decisions-sync: @tooling/db/decisions-sync decisions-coverage: @tooling/db/sqlite-query "SELECT d.domain, COUNT(DISTINCT d.id) as decisions, COUNT(DISTINCT t.decision_ref) as with_tickets FROM decisions d LEFT JOIN tickets t ON d.id = t.decision_ref WHERE d.status='active' AND d.type='confirmed' GROUP BY d.domain" decisions-active: @tooling/db/sqlite-query "SELECT id, domain, title FROM decisions WHERE status='active' AND type='confirmed' ORDER BY domain, id" decisions-orphan: @tooling/db/sqlite-query "SELECT id, title FROM decisions WHERE type='confirmed' AND status='active' AND id NOT IN (SELECT DISTINCT decision_ref FROM tickets WHERE decision_ref IS NOT NULL)" pre-pr: decisions-sync @echo "=== PRE-PR: CHECKS PASSED ===" clean: @echo "Clean complete."