forked from oliver-kriska/claude-elixir-phoenix
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
68 lines (45 loc) · 2.31 KB
/
Copy pathMakefile
File metadata and controls
68 lines (45 loc) · 2.31 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
60
61
62
63
64
65
66
67
68
.PHONY: help lint lint-fix eval eval-all eval-fix eval-full eval-ci eval-triggers eval-tournament eval-skills eval-agents test validate ci clean
# Default target
help: ## Show available commands
@echo "Plugin Quality Commands:"
@echo ""
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}'
# --- Lint ---
lint: ## Lint markdown, YAML, JSON
@npx markdownlint "**/*.md" --ignore node_modules --ignore docs --ignore reports --ignore analysis --ignore scratchpad --ignore lab/findings
lint-fix: ## Auto-fix markdown lint errors
@npx markdownlint "**/*.md" --fix --ignore node_modules --ignore docs --ignore reports --ignore analysis --ignore scratchpad --ignore lab/findings
# --- Eval ---
eval: ## Quick: lint + score changed skills/agents only
@bash lab/eval/run_eval.sh --changed
eval-all: ## Score all 40 skills + 20 agents (structural)
@bash lab/eval/run_eval.sh --all
eval-fix: ## Auto-fix lint + show failures + suggest autoresearch command
@bash lab/eval/run_eval.sh --fix
eval-full: ## Everything: structural + behavioral triggers (~60 min)
@bash lab/eval/run_eval.sh --all && bash lab/eval/run_eval.sh --triggers
eval-ci: ## CI gate: lint + all skills + all agents
@bash lab/eval/run_eval.sh --ci
eval-triggers: ## Re-run behavioral trigger tests (~60 min, uses haiku)
@bash lab/eval/run_eval.sh --triggers
eval-tournament: ## Run tournament on weak skills (<75% trigger accuracy)
@python3 -m lab.tournament.description_tournament --weak
eval-skills: ## Score all skills only
@bash lab/eval/run_eval.sh --skills
eval-agents: ## Score all agents only
@bash lab/eval/run_eval.sh --agents
# --- Test ---
test: ## Run pytest (52 tests for eval framework)
@python3 -m pytest lab/eval/tests/ -v --tb=short
test-quick: ## Run pytest (no verbose, fast)
@python3 -m pytest lab/eval/tests/ -q
# --- Validate ---
validate: ## Run claude plugin validate on plugin structure
@claude plugin validate plugins/elixir-phoenix
# --- CI (full pipeline) ---
ci: lint test validate eval-all ## Full CI: lint + test + validate + eval (same as GitHub Actions)
# --- Clean ---
clean: ## Remove Python cache files
@find lab/ -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
@find lab/ -name "*.pyc" -delete 2>/dev/null || true
@echo "Cleaned"