-include .env
export

VENV_BIN := $(shell pwd)/.venv/bin
MCP_COMMAND := $(VENV_BIN)/bssm-dev-mcp

BSSM_CLIENT_ID ?= $(shell grep -s '^BSSM_CLIENT_ID=' .env | cut -d= -f2-)
BSSM_SECRET_KEY ?= $(shell grep -s '^BSSM_SECRET_KEY=' .env | cut -d= -f2-)

.PHONY: install mcp-add mcp-remove mcp-status publish

install:
	uv sync

mcp-add: install
	@if [ -z "$(BSSM_CLIENT_ID)" ] || [ -z "$(BSSM_SECRET_KEY)" ]; then \
		echo "Error: .env 파일에 BSSM_CLIENT_ID, BSSM_SECRET_KEY를 설정해주세요."; \
		exit 1; \
	fi
	claude mcp add bssm-dev-mcp "$(MCP_COMMAND)" \
		-e BSSM_CLIENT_ID=$(BSSM_CLIENT_ID) \
		-e BSSM_SECRET_KEY=$(BSSM_SECRET_KEY)
	@echo "Done. 'claude mcp list'로 확인하세요."

mcp-remove:
	claude mcp remove bssm-dev-mcp

mcp-status:
	claude mcp list

publish:
	@if [ -z "$(VERSION)" ]; then \
		echo "Error: VERSION을 지정해주세요. 예) make publish VERSION=0.2.1"; \
		exit 1; \
	fi
	@if [ -z "$(PYPI_TOKEN)" ]; then \
		echo "Error: .env에 PYPI_TOKEN을 설정해주세요."; \
		exit 1; \
	fi
	sed -i '' 's/^version = ".*"/version = "$(VERSION)"/' pyproject.toml
	rm -rf dist
	uv build
	uv publish --token "$(PYPI_TOKEN)" dist/bssm_dev_mcp-$(VERSION)*
	@echo "배포 완료: $(VERSION)"
