# ───────────────────────────────────────────────────────────── # Hermes Kanban Mini App — Makefile # Common development and deployment commands # ───────────────────────────────────────────────────────────── .PHONY: dev dev-bridge dev-frontend build install typecheck test test-bridge clean up down logs # ── Local development ─────────────────────────────────────── ## Install all dependencies install: pnpm install ## Run bridge + frontend in dev mode (parallel) dev: @echo "Starting bridge (port 3456) and frontend (port 5173)..." @pnpm --filter @kanban/bridge dev & \ pnpm --filter frontend dev & \ wait ## Run bridge only in dev mode (watch) dev-bridge: pnpm --filter @kanban/bridge dev ## Run frontend only in dev mode dev-frontend: pnpm --filter frontend dev # ── Build ─────────────────────────────────────────────────── ## Build all TypeScript packages build: pnpm -r build ## Build Docker images docker-build: docker compose build ## Build + tag production images docker-build-prod: docker compose -f docker-compose.yml build --no-cache # ── Quality ───────────────────────────────────────────────── ## Run TypeScript type checking typecheck: pnpm typecheck ## Run all tests test: test-bridge ## Run bridge tests test-bridge: pnpm --filter @kanban/bridge test ## Run frontend build (includes tsc) test-frontend: pnpm --filter frontend build ## Run full CI pipeline locally ci: install typecheck test build # ── Docker Compose ────────────────────────────────────────── ## Start services with docker compose up: docker compose up -d ## Stop services down: docker compose down ## View service logs logs: docker compose logs -f ## Rebuild and restart services restart: down docker-build up # ── Cleanup ───────────────────────────────────────────────── ## Remove build artifacts clean: pnpm -r clean rm -rf frontend/dist ## Full clean (including node_modules) clean-all: clean rm -rf node_modules packages/*/node_modules frontend/node_modules ## Remove Docker images docker-clean: docker compose down --rmi local --volumes --remove-orphans