-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
59 lines (43 loc) · 2.04 KB
/
Copy pathMakefile
File metadata and controls
59 lines (43 loc) · 2.04 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# autoforge — developer convenience targets
# Run `make help` to see all available targets.
.PHONY: help test lint score suggest fix improve leaderboard build clean
help: ## Show this help
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | \
awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-18s\033[0m %s\n", $$1, $$2}'
test: ## Run the test suite (494+ tests, ~20s)
PYTHONPATH=. python3 -m pytest tests/ -v
test-quick: ## Run tests without verbose output
PYTHONPATH=. python3 -m pytest tests/ -q
lint: ## Run ruff linter
PYTHONPATH=. python3 -m ruff check autoforge/ tests/
lint-fix: ## Run ruff with auto-fix
PYTHONPATH=. python3 -m ruff check autoforge/ tests/ --fix
score: ## Score this repository (6-dimension health check)
PYTHONPATH=. python3 -m autoforge.harness.score --dir .
score-json: ## Score this repository (JSON output)
PYTHONPATH=. python3 -m autoforge.harness.score --dir . --json
suggest: ## Show top 5 improvement suggestions
PYTHONPATH=. python3 -m autoforge.harness.suggest --dir . --top 5
fix: ## Auto-fix deterministic improvements (dry-run)
PYTHONPATH=. python3 -m autoforge.harness.fix --dir .
fix-apply: ## Auto-fix deterministic improvements (actually write files)
PYTHONPATH=. python3 -m autoforge.harness.fix --dir . --apply
improve: ## Run the full closed loop (dry-run)
PYTHONPATH=. python3 -m autoforge.harness.improve --dir .
improve-apply: ## Run the full closed loop (apply fixes)
PYTHONPATH=. python3 -m autoforge.harness.improve --dir . --apply
leaderboard: ## Score autoforge against top Python OSS (live from GitHub)
PYTHONPATH=. python3 -m autoforge.harness.leaderboard \
--entry "autoforge=." \
--github "fastapi/fastapi" \
--github "pallets/flask" \
--github "pydantic/pydantic" \
--github "encode/httpx" \
--github "pallets/click" \
--github "psf/requests" \
--format text
build: ## Build wheel and sdist
python3 -m build
clean: ## Remove build artifacts
rm -rf build/ dist/ *.egg-info autoforge.egg-info/
find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true