.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:
	@db/connectors/decisions-sync

decisions-coverage:
	@db/connectors/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:
	@db/connectors/sqlite-query "SELECT id, domain, title FROM decisions WHERE status='active' AND type='confirmed' ORDER BY domain, id"

decisions-orphan:
	@db/connectors/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."
