| .PHONY: help install dev api ui build test clean docker docker-demo docker-clean stop |
|
|
| help: |
| @echo "SignalMod — comandos disponibles:" |
| @echo " make install Instala deps Python (uv) y frontend (pnpm)" |
| @echo " make dev Arranca API (:8000) + UI (:5173) en paralelo" |
| @echo " make api Solo la API FastAPI" |
| @echo " make ui Solo el frontend React" |
| @echo " make build Compila el frontend (frontend/dist)" |
| @echo " make test Ejecuta pytest" |
| @echo " make docker docker compose up --build (deja imágenes/volúmenes)" |
| @echo " make docker-demo Demo efímera: arranca + al hacer Ctrl+C limpia todo" |
| @echo " make docker-clean Limpia contenedores, imagen y volúmenes de SignalMod" |
| @echo " make stop Mata procesos en :8000 y :5173" |
| @echo " make clean Limpia .venv, node_modules y dist" |
|
|
| install: |
| uv sync |
| cd frontend && pnpm install |
|
|
| dev: |
| @echo "→ API en http://localhost:8000 UI en http://localhost:5173" |
| @trap 'kill 0' INT |
| uv run uvicorn src.api.main:app --reload --port 8000 & \ |
| (cd frontend && pnpm run dev) & \ |
| wait |
|
|
| api: |
| uv run uvicorn src.api.main:app --reload --port 8000 |
|
|
| ui: |
| cd frontend && pnpm run dev |
|
|
| build: |
| cd frontend && pnpm run build |
|
|
| test: |
| uv run pytest |
|
|
| docker: |
| docker compose up --build |
|
|
| docker-demo: |
| @echo "→ SignalMod en http://localhost:8000 (Ctrl+C para parar y limpiar)" |
| @trap 'echo; echo "→ Limpiando contenedores, imagen y volúmenes..."; \ |
| docker compose down --rmi local --volumes --remove-orphans; \ |
| echo "✓ Todo limpio."' INT TERM EXIT |
| docker compose up --build |
|
|
| docker-clean: |
| @echo "→ Eliminando contenedores, imágenes y volúmenes de SignalMod..." |
| -docker compose down --rmi local --volumes --remove-orphans |
| @echo "✓ Limpieza completada." |
|
|
| stop: |
| -@lsof -ti tcp:8000 | xargs kill -9 2>/dev/null || true |
| -@lsof -ti tcp:5173 | xargs kill -9 2>/dev/null || true |
| @echo "Procesos en :8000 y :5173 detenidos." |
|
|
| clean: |
| rm -rf .venv frontend/node_modules frontend/dist |
|
|