.PHONY: build run validate test clean fmt lint

BINARY_NAME=tongo
GO=go

## build: Compile the Tongo Core binary
build:
	$(GO) build -o bin/$(BINARY_NAME) ./cmd/tongo

## run: Build and run the simulation daemon
run: build
	./bin/$(BINARY_NAME) serve

## validate: Validate the taxonomy configuration
validate: build
	./bin/$(BINARY_NAME) validate

## test: Run all tests
test:
	$(GO) test ./... -v

## clean: Remove build artifacts
clean:
	rm -rf bin/

## fmt: Format all Go source files
fmt:
	$(GO) fmt ./...

## lint: Run go vet
lint:
	$(GO) vet ./...

## help: Show this help
help:
	@grep -E '^## ' Makefile | sed 's/## //' | column -t -s ':'
