.PHONY: help build publish publish-minor publish-major version

help:  ## Show this help
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'

version:  ## Show current package version
	@grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/'

build:  ## Build wheel + sdist
	rm -rf dist
	uv build

publish:  ## Bump patch version, build, and publish to PyPI
	uvx hatch version patch
	rm -rf dist
	uv build
	uv publish
	@echo "Published $$(grep '^version = ' pyproject.toml | sed 's/version = \"\(.*\)\"/\1/')"

publish-minor:  ## Bump minor version, build, and publish to PyPI
	uvx hatch version minor
	rm -rf dist
	uv build
	uv publish

publish-major:  ## Bump major version, build, and publish to PyPI
	uvx hatch version major
	rm -rf dist
	uv build
	uv publish
