AGENTS := evaluator redator editor art director publisher
BIN    := ./bin

# ── Detecta OS para extensão dos binários ─────────────────────────────────────
ifeq ($(OS),Windows_NT)
  EXT := .exe
else
  EXT :=
endif

.PHONY: all build build-windows build-linux build-arm64 clean seed-inbox

# Build para o OS atual
all: build

build:
	@mkdir -p $(BIN)
	@$(foreach agent,$(AGENTS), \
		echo "  build $(agent)..." && \
		go build -o $(BIN)/ldpost-$(agent)$(EXT) ./$(agent)/ ; \
	)
	@echo "Done → $(BIN)/"

# Cross-compile explícito
build-windows:
	@mkdir -p $(BIN)
	@$(foreach agent,$(AGENTS), \
		echo "  [windows/amd64] $(agent)" && \
		GOOS=windows GOARCH=amd64 go build -o $(BIN)/ldpost-$(agent).exe ./$(agent)/ ; \
	)

build-linux:
	@mkdir -p $(BIN)
	@$(foreach agent,$(AGENTS), \
		echo "  [linux/amd64] $(agent)" && \
		GOOS=linux GOARCH=amd64 go build -o $(BIN)/ldpost-$(agent) ./$(agent)/ ; \
	)

build-arm64:
	@mkdir -p $(BIN)
	@$(foreach agent,$(AGENTS), \
		echo "  [linux/arm64] $(agent)" && \
		GOOS=linux GOARCH=arm64 go build -o $(BIN)/ldpost-$(agent) ./$(agent)/ ; \
	)

# Testes
test:
	go test ./shared/...

# Copia _sugestoes.md do seed para o workspace
seed-inbox:
	@if [ -z "$(LDPOST_WORKSPACE)" ]; then \
		echo "LDPOST_WORKSPACE não definido — exporte ou copie .env.example para .env"; exit 1; \
	fi
	@mkdir -p "$(LDPOST_WORKSPACE)/_inbox"
	@cp seed/_sugestoes.md "$(LDPOST_WORKSPACE)/_inbox/_sugestoes.md"
	@echo "Seed copiado para $(LDPOST_WORKSPACE)/_inbox/_sugestoes.md"

clean:
	rm -f $(BIN)/ldpost-*
