.PHONY: help install dev test lint format clean docker-up docker-down migrate

# Default target
help:
	@echo "BinByte Development Commands"
	@echo "=========================="
	@echo "install     Install dependencies"
	@echo "dev         Start development server"
	@echo "test        Run tests"
	@echo "lint        Run code quality checks"
	@echo "format      Format code"
	@echo "clean       Clean temporary files"
	@echo "docker-up   Start Docker development environment"
	@echo "docker-down Stop Docker development environment"
	@echo "migrate     Run database migrations"
	@echo "backup      Create database backup"

# Install dependencies
install:
	python -m venv venv
	venv/bin/pip install -r requirements/dev.txt

# Start development server
dev:
	./scripts/dev_server.sh

# Run tests
test:
	pytest

# Run code quality checks
lint:
	./scripts/code_quality.sh

# Format code
format:
	black apps/ config/
	isort apps/ config/

# Clean temporary files
clean:
	find . -type d -name __pycache__ -delete
	find . -name "*.pyc" -delete
	find . -name "*.pyo" -delete
	find . -name ".coverage" -delete
	rm -rf htmlcov/
	rm -rf .pytest_cache/

# Docker commands
docker-up:
	./scripts/docker_dev.sh up

docker-down:
	./scripts/docker_dev.sh down

# Database commands
migrate:
	python manage.py migrate

backup:
	./scripts/backup_db.sh
