.PHONY: service webui dev test build clean

export PATH := $(HOME)/.local/go/bin:$(PATH)

service:
	cd service && go run ./cmd/server

webui:
	cd webui && npm run dev

# Run API (:8080) and web UI (:5173) together; Ctrl+C stops both.
dev:
	@trap 'kill 0' EXIT INT TERM; \
	(cd service && go run ./cmd/server) & \
	(cd webui && npm run dev) & \
	wait

test:
	cd service && go test ./...
	cd webui && npm test

build:
	mkdir -p bin
	cd service && go build -o ../bin/clustercanvas-server ./cmd/server
	cd webui && npm run build

clean:
	rm -rf bin service/coverage.out webui/dist webui/coverage
