File size: 2,034 Bytes
5465983 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | .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
|