.PHONY: build publish sbom smoke-test lint test docs clean

build:
	python -m hatch build

publish: build
	twine upload --repository pypi dist/*

sbom:
	syft packages . -o spdx-json > gdm-code-sbom.spdx.json

smoke-test:
	pip install -e ".[dev]" && gdm version && gdm doctor

lint:
	ruff check src tests && mypy src

test:
	python -m pytest

clean:
	rm -rf dist/ build/ *.egg-info/ .mypy_cache/ .ruff_cache/ __pycache__/

docs:
	@echo "Generating CLI reference..."
	python -m src.cli_reference --output docs/cli-reference.md
	@echo "Done."
