ouroboros/Makefile
Ouroboros 54ad148f28 fix(deps): complete uv migration contracts
Validate lock freshness, preserve the pip runtime capability and N-1 updater bridge, synchronize the uv root version during releases, and align install documentation and regression tests.
2026-08-11 06:34:54 +03:00

30 lines
1.1 KiB
Makefile

# Ouroboros — common development commands
# Usage: make test, make lint, make health
.PHONY: test lint health clean
# Run smoke tests (fast, no external deps needed at runtime)
test:
uv run --locked python -m pytest tests/ -q --tb=short
# Run smoke tests with verbose output
test-v:
uv run --locked python -m pytest tests/ -v --tb=long
# Lint: deterministic F-rule gate (NameError class); matches the CI quick-test step
lint:
uv run --locked python -m ruff check . --select F
# Run codebase health check (requires ouroboros importable)
health:
uv run --locked python -c "from ouroboros.review import collect_sections, compute_complexity_metrics; \
import pathlib, json; \
sections, stats = collect_sections(pathlib.Path('.'), pathlib.Path('../data')); \
m = compute_complexity_metrics(sections); \
print(json.dumps({'repo': stats, **m}, indent=2, default=str))"
# Clean Python cache files
clean:
find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
find . -type f -name "*.pyc" -delete 2>/dev/null || true
find . -type d -name ".pytest_cache" -exec rm -rf {} + 2>/dev/null || true