.PHONY: install dev test lint format typecheck check run setup-env docker-build docker-up docker-down docker-destroy docker-rebuild docker-logs docker-ps docker-shell docker-restart clean

install:
	pip install -e .

dev:
	pip install -e ".[dev]"

test:
	pytest -v

lint:
	ruff check guarddog_nexus tests

format:
	ruff format guarddog_nexus tests
	ruff check --fix guarddog_nexus tests

typecheck:
	mypy guarddog_nexus

check: lint format typecheck test
	@echo "All checks passed"

run:
	python -m guarddog_nexus.main

setup-env:
	@test -f .env || cp .env.example .env
	@echo ".env ready"

docker-build:
	docker compose build

docker-up:
	docker compose up -d --build

docker-down:
	docker compose down

docker-destroy:
	docker compose down -v

docker-rebuild:
	docker compose down; docker compose up -d --build

docker-logs:
	docker compose logs -f

docker-ps:
	docker compose ps

docker-shell:
	docker compose exec guarddog-nexus bash

docker-restart:
	docker compose restart guarddog-nexus

clean:
	rm -rf dist build *.egg-info
	find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
	find . -type f -name '*.pyc' -delete
