@@ -78,11 +78,11 @@ rcc-all: ## Force recompile all .qrc files
7878# ─────────────────────────────────────────────────────────────────────────────
7979
8080lint : # # Run pylint
81- $(PYTHON ) -m pylint $( SRC )
81+ $(PYTHON ) -m pylint -j $( shell nproc) --recursive=y $( SRC )/
8282
83- format-check : # # Verify formatting without modifying files (ruff-based )
84- $(PYTHON ) -m ruff format --check $( SRC ) $( TESTS )
85- $(PYTHON ) -m ruff check $( SRC ) $( TESTS )
83+ format-check : # # Verify formatting without modifying files (matches CI exactly )
84+ $(PYTHON ) -m ruff check --target-version=py311 --config=pyproject.toml
85+ $(PYTHON ) -m ruff format --diff --target-version=py311 --config=pyproject.toml
8686
8787security : # # Run bandit security scan
8888 $(PYTHON ) -m bandit -c pyproject.toml -r $(SRC )
@@ -145,11 +145,9 @@ docstrcov: ## Check docstring coverage (fail-under=80%, matches CI)
145145# ─────────────────────────────────────────────────────────────────────────────
146146
147147clean : # # Remove build artefacts, caches, and coverage data
148- rm -rf dist/ build/ * .egg-info src/* .egg-info site/ htmlcov .coverage
149- find . -depth \
150- \( -type f -name ' *.py[co]' \
151- -o -type d -name __pycache__ \
152- -o -type d -name .pytest_cache \) -exec rm -rf {} +
148+ rm -rf dist/ build/ * .egg-info src/* .egg-info site/ htmlcov/ .coverage .ruff_cache .mypy_cache
149+ find . -type d \( -name __pycache__ -o -name .pytest_cache \) -exec rm -rf {} + 2> /dev/null || true
150+ find . -type f -name ' *.py[co]' -delete 2> /dev/null || true
153151
154152clean-venv : # # Remove the virtual environment (destructive!)
155153 @echo " Removing $( VENV) ..."
0 commit comments