.PHONY: install setup test lint format run-backend run-frontend package help clean

PYTHON := .venv/bin/python
PIP := .venv/bin/pip
NPM := npm

help:
	@echo "AegisTrade AI — Intelligent Trading & Capital Protection System"
	@echo "Available commands:"
	@echo "  make setup        : Setup virtual environment & dependencies"
	@echo "  make test         : Run automated test suite"
	@echo "  make lint         : Run code linting & static analysis"
	@echo "  make run-backend  : Start FastAPI backend server"
	@echo "  make run-frontend : Start React Vite frontend"
	@echo "  make package      : Create production aegistrade-ai.zip package"
	@echo "  make clean        : Remove temporary files & caches"

setup:
	python3 -m venv .venv
	$(PIP) install --upgrade pip
	$(PIP) install -e ".[dev]"
	cd frontend && $(NPM) install

test:
	$(PYTHON) -m pytest -v tests/

lint:
	$(PYTHON) -m ruff check backend tests
	$(PYTHON) -m mypy backend

run-backend:
	$(PYTHON) -m uvicorn backend.app.main:app --host 0.0.0.0 --port 8000 --reload

run-frontend:
	cd frontend && $(NPM) run dev

package:
	bash scripts/package_release.sh

clean:
	find . -type d -name "__pycache__" -exec rm -rf {} +
	find . -type d -name ".pytest_cache" -exec rm -rf {} +
	find . -type d -name ".ruff_cache" -exec rm -rf {} +
	rm -rf build dist *.egg-info
