Files
cd-browser/Makefile

71 lines
1.7 KiB
Makefile

PYTHON := python
PIP := pip
.PHONY: help install dev format fix check lint typecheck test run quality ci doctor clean
help:
@echo "Available commands:"
@echo " make install Install project with development dependencies"
@echo " make dev Create local dev environment and install tools"
@echo " make format Format source code with Black"
@echo " make fix Auto-fix code issues (Black + Ruff)"
@echo " make check Check formatting with Black"
@echo " make lint Run Ruff"
@echo " make typecheck Run MyPy"
@echo " make test Run pytest"
@echo " make run Run the application"
@echo " make quality Run all quality checks"
@echo " make ci Run CI-style validation checks"
@echo " make doctor Show environment and tool versions"
@echo " make clean Remove cache files"
install:
$(PIP) install --upgrade pip
$(PIP) install -e '.[dev]'
dev:
$(PYTHON) -m venv .venv
. .venv/bin/activate && pip install --upgrade pip
. .venv/bin/activate && pip install -e '.[dev]'
. .venv/bin/activate && pre-commit install
format:
black src tests
fix:
black src tests
ruff check --fix src tests
check:
black --check src tests
lint:
ruff check src tests
typecheck:
mypy src
test:
pytest
run:
$(PYTHON) -m app.main
quality: check lint typecheck test
ci: check lint typecheck test
doctor:
@echo "Python:"
@$(PYTHON) --version
@echo ""
@echo "Tool versions:"
@black --version
@ruff --version
@mypy --version
@pytest --version
clean:
find . -type d \( -name "__pycache__" -o -name ".pytest_cache" -o -name ".mypy_cache" -o -name ".ruff_cache" \) -exec rm -rf {} +
find . -type f \( -name "*.pyc" -o -name "*.pyo" \) -delete