.PHONY: build test test-e2e dev web clean lint hooks BINARY := synapbus MODULE := github.com/synapbus/synapbus BUILD_DIR := bin VERSION ?= dev LDFLAGS := -s -w -X main.version=$(VERSION) CGO_ENABLED := 0 build: web CGO_ENABLED=$(CGO_ENABLED) go build -ldflags "$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY) ./cmd/synapbus test: CGO_ENABLED=$(CGO_ENABLED) go test ./... -v -count=1 test-e2e: CGO_ENABLED=$(CGO_ENABLED) go test ./tests/integration/... -v -count=1 dev: CGO_ENABLED=$(CGO_ENABLED) go run ./cmd/synapbus serve web: cd web && npm install --legacy-peer-deps && npm run build rm -rf internal/web/dist cp -r web/build internal/web/dist clean: rm -rf $(BUILD_DIR) rm -rf web/node_modules web/build rm -rf data lint: golangci-lint run ./... hooks: @echo "Installing git hooks..." @mkdir -p scripts/hooks @chmod +x scripts/hooks/pre-commit scripts/hooks/pre-push @ln -sf ../../scripts/hooks/pre-commit .git/hooks/pre-commit @ln -sf ../../scripts/hooks/pre-push .git/hooks/pre-push @echo "✅ Git hooks installed" .DEFAULT_GOAL := build