Makefile 1.07 KB
Newer Older
one's avatar
one committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
.PHONY: help setup format lint test clean bump

help:
	@echo "Available targets:"
	@echo "  make setup           - Create venv, install all dependencies, and set up git hooks"
	@echo "  make format          - Auto-fix and format code (ruff)"
	@echo "  make lint            - Check code style and errors without modifying files (ruff)"
	@echo "  make test            - Run all unit tests (pytest)"
	@echo "  make clean           - Remove build caches and the virtual environment"
	@echo "  make bump part=X     - Bump version (patch/minor/major or X.Y.Z)"

setup:
	@echo ">> Initializing virtual environment and installing dependencies..."
	uv sync --group dev
	@echo ">> Installing pre-commit git hooks..."
	uvx pre-commit install

format:
	uv run ruff check --fix src/ tests/
	uv run ruff format src/ tests/

lint:
	uv run ruff check src/ tests/
	uv run ruff format --check src/ tests/

test:
	uv run pytest -v

clean:
	rm -rf .pytest_cache .ruff_cache .venv
	find src tests -type f -name "*.pyc" -delete
	find src tests -type d -name "__pycache__" -delete

bump:
	uv run hytop-bump $(part)