SHELL := /bin/bash GO := go NPM := npm SERVER_DIR := apps/server WEB_DIR := apps/web SERVER_BIN := $(SERVER_DIR)/bin/md-hub-secure .PHONY: web-install web-build web-dev server-run server-build server-test docker-build ci fmt dev dev-web dev-server web-install: cd $(WEB_DIR) && $(NPM) install web-build: cd $(WEB_DIR) && $(NPM) run build web-dev: cd $(WEB_DIR) && $(NPM) run dev server-run: cd $(SERVER_DIR) && CGO_ENABLED=1 $(GO) run ./cmd/md-hub-secure server-build: mkdir -p $(SERVER_DIR)/bin cd $(SERVER_DIR) && CGO_ENABLED=1 $(GO) build -trimpath -o bin/md-hub-secure ./cmd/md-hub-secure server-test: cd $(SERVER_DIR) && CGO_ENABLED=1 $(GO) test ./... dev-server: cd $(SERVER_DIR) && MD_HUB_DEV_VITE_URL=http://localhost:5173 air dev-web: cd $(WEB_DIR) && $(NPM) run dev dev: @echo "Starting dev servers..." @echo " - Go server (with air live reload) on http://localhost:8080" @echo " - Vite dev server on http://localhost:5173" @echo "" @echo "Access the app at http://localhost:8080/app/" @echo "" @trap 'kill %1 %2 2>/dev/null || true' EXIT; \ make dev-server & \ make dev-web & \ wait docker-build: docker build -t md-hub-secure:dev . fmt: cd $(SERVER_DIR) && $(GO) fmt ./... cd $(WEB_DIR) && $(NPM) run format ci: web-install web-build server-test server-build