.PHONY: help tidy fmt vet test build run export clean GO ?= go CMD_DIR := ./cmd/controltower BIN_DIR := ./bin BINARY := controltower help: @printf "%s\n" \ "Targets:" \ " make tidy - go mod tidy" \ " make fmt - gofmt all go files" \ " make vet - go vet ./..." \ " make test - go test ./..." \ " make build - build binary to ./bin/controltower" \ " make run - run TUI (needs a real TTY)" \ " make export PATH=/tmp/issues.json - export snapshot and exit" \ " make clean - remove ./bin" tidy: $(GO) mod tidy fmt: $(GO)fmt -w . vet: $(GO) vet ./... test: $(GO) test ./... -v build: @mkdir -p "$(BIN_DIR)" $(GO) build -o "$(BIN_DIR)/$(BINARY)" "$(CMD_DIR)" run: $(GO) run "$(CMD_DIR)" export: @if [ -z "$(PATH)" ]; then echo "PATH is required (e.g. make export PATH=/tmp/issues.json)"; exit 2; fi $(GO) run "$(CMD_DIR)" --export "$(PATH)" clean: rm -rf "$(BIN_DIR)"