.PHONY: clean pip_dev dev test_unit lint fmt cci_unit_lint ci_unit_lint_clean docker_down

clean: ## Clean env
	poetry env remove python || rm -r .venv

env pip_dev:  ## Prepare environment
	poetry install

dev: ## Run local for development
	poetry run python dev.py

test_unit: pip_dev ## Run unit tests
	poetry run pytest

lint: pip_dev ## Run code linters
	poetry run mypy src tests
	poetry run ruff check src tests
	poetry run ruff format src tests --diff

fmt: pip_dev ## Run code formatters
	poetry run mypy src tests
	poetry run ruff check src tests --fix
	poetry run ruff format src tests

docker_down:
	docker compose down --remove-orphans

ci_unit_lint:
	docker compose run \
		--rm \
		--build \
		--name lambda-content-delete-product \
		lint-and-test

ci_unit_lint_clean: docker_down
	docker rm -f lambda-content-delete-product
