mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-11 19:47:12 +03:00
Align README runtime requirements and local core-test filtering with required CI semantics.\n\nCo-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
68 lines
3.2 KiB
Makefile
68 lines
3.2 KiB
Makefile
.PHONY: dev lint typecheck test complexity deps coverage security dep-age runbooks docs validate
|
|
|
|
# Keep local core tests aligned with the required CI coverage selection.
|
|
CORE_TESTS := $(shell grep -Ev '^[[:space:]]*\#|^[[:space:]]*$$' scripts/core-test-files.txt)
|
|
|
|
# ─── Development Setup ──────────────────────────────────────────
|
|
dev: .venv
|
|
@echo "Development environment ready. Run 'make validate' to run all checks."
|
|
|
|
.venv:
|
|
python3 -m venv .venv
|
|
.venv/bin/python3 -m pip install --upgrade pip
|
|
.venv/bin/python3 -m pip install -r requirements-dev.txt
|
|
@echo "Virtual environment created at .venv/"
|
|
|
|
# ─── Linting & Formatting ───────────────────────────────────────
|
|
lint:
|
|
.venv/bin/python3 -m ruff check scripts/ eval_runner/
|
|
|
|
format-check:
|
|
.venv/bin/python3 -m ruff format --check scripts/ eval_runner/
|
|
|
|
format:
|
|
.venv/bin/python3 -m ruff format scripts/ eval_runner/
|
|
|
|
# ─── Type Checking ──────────────────────────────────────────────
|
|
typecheck:
|
|
.venv/bin/python3 -m mypy scripts/ eval_runner/
|
|
|
|
# ─── Complexity ─────────────────────────────────────────────────
|
|
complexity:
|
|
.venv/bin/python3 -m radon cc scripts/ eval_runner/ --min B --total-average
|
|
|
|
# ─── Testing ────────────────────────────────────────────────────
|
|
test:
|
|
.venv/bin/python3 -m pytest $(CORE_TESTS) -v --durations=10
|
|
|
|
test-integration:
|
|
.venv/bin/python3 -m pytest tests/integration/ -v --durations=10
|
|
|
|
test-cov:
|
|
.venv/bin/python3 -m pytest $(CORE_TESTS) tests/integration/ -v --durations=10 --cov=scripts --cov=eval_runner --cov-fail-under=60 --cov-report=term-missing
|
|
|
|
test-parallel:
|
|
.venv/bin/python3 -m pytest $(CORE_TESTS) -n auto -v --durations=10
|
|
|
|
# ─── Dependencies ───────────────────────────────────────────────
|
|
deps:
|
|
.venv/bin/python3 -m deptry .
|
|
|
|
# ─── Security ───────────────────────────────────────────────────
|
|
security:
|
|
.venv/bin/python3 -m bandit -r scripts/ -f txt --severity-level high
|
|
|
|
dep-age:
|
|
.venv/bin/python3 scripts/check-dependency-age.py
|
|
|
|
# ─── Documentation ──────────────────────────────────────────────
|
|
docs:
|
|
ruby scripts/validate-skills.rb
|
|
ruby scripts/validate-skill-quality.rb --base origin/main
|
|
python3 scripts/test-eval-validation.py
|
|
python3 scripts/validate-evals.py
|
|
|
|
# ─── Full Validation ────────────────────────────────────────────
|
|
validate: lint format-check typecheck complexity deps dep-age test-cov
|
|
@echo "All checks passed."
|