1- .PHONY : help sync openapi-spec openapi-spec-check test test-extras test-all models-test test-models test-sdk lint lint-fix typecheck check build build-models build-server build-sdk publish publish-models publish-server publish-sdk hooks-install hooks-uninstall prepush evaluators-test evaluators-lint evaluators-lint-fix evaluators-typecheck evaluators-build galileo -test galileo -lint galileo -lint-fix galileo -typecheck galileo -build sdk-ts-generate sdk-ts-overlay-test sdk-ts-name-check sdk-ts-generate-check sdk-ts-build sdk-ts-test sdk-ts-lint sdk-ts-typecheck sdk-ts-release-check sdk-ts-publish-dry-run sdk-ts-publish telemetry-test telemetry-lint telemetry-lint-fix telemetry-typecheck telemetry-build telemetry-publish
1+ .PHONY : help sync openapi-spec openapi-spec-check test test-extras test-all models-test test-models test-sdk lint lint-fix typecheck check build build-models build-server build-sdk publish publish-models publish-server publish-sdk hooks-install hooks-uninstall prepush evaluators-test evaluators-lint evaluators-lint-fix evaluators-typecheck evaluators-build contrib -test contrib -lint contrib -lint-fix contrib -typecheck contrib -build sdk-ts-generate sdk-ts-overlay-test sdk-ts-name-check sdk-ts-generate-check sdk-ts-build sdk-ts-test sdk-ts-lint sdk-ts-typecheck sdk-ts-release-check sdk-ts-publish-dry-run sdk-ts-publish telemetry-test telemetry-lint telemetry-lint-fix telemetry-typecheck telemetry-build telemetry-publish
22
33# Workspace package names
44PACK_MODELS := agent-control-models
@@ -17,8 +17,16 @@ TS_SDK_DIR := sdks/typescript
1717ENGINE_DIR := engine
1818TELEMETRY_DIR := telemetry
1919EVALUATORS_DIR := evaluators/builtin
20- GALILEO_DIR := evaluators/contrib/galileo
20+ CONTRIB_DIR := evaluators/contrib
2121UI_DIR := ui
22+ CONTRIB_PACKAGE_NAMES := $(shell python3 scripts/contrib_packages.py names)
23+
24+ define run-contrib-target
25+ @set -e; \
26+ for package in $(CONTRIB_PACKAGE_NAMES ) ; do \
27+ $(MAKE ) -C $(CONTRIB_DIR ) /$$package $(1 ) ; \
28+ done
29+ endef
2230
2331help :
2432 @echo " Agent Control - Makefile commands"
@@ -33,10 +41,10 @@ help:
3341 @echo " make openapi-spec-check - verify OpenAPI generation succeeds"
3442 @echo " "
3543 @echo " Test:"
36- @echo " make test - run tests for core packages (models, telemetry, server, engine, sdk, evaluators) "
44+ @echo " make test - run tests for core packages and all discovered contrib evaluators"
3745 @echo " make models-test - run shared model tests with coverage"
38- @echo " make test-extras - run tests for contrib evaluators (galileo, etc.) "
39- @echo " make test-all - run all tests (core + extras) "
46+ @echo " make test-extras - run tests for all discovered contrib evaluators "
47+ @echo " make test-all - alias for make test "
4048 @echo " make sdk-ts-test - run TypeScript SDK tests"
4149 @echo " "
4250 @echo " Quality:"
@@ -84,7 +92,7 @@ openapi-spec-check: openapi-spec
8492# Test
8593# ---------------------------
8694
87- test : models-test telemetry-test server-test engine-test sdk-test evaluators-test
95+ test : models-test telemetry-test server-test engine-test sdk-test evaluators-test contrib-test
8896
8997models-test :
9098 cd $(MODELS_DIR ) && uv run pytest --cov=src --cov-report=xml:../coverage-models.xml -q
@@ -94,11 +102,11 @@ test-models: models-test
94102telemetry-test :
95103 $(MAKE ) -C $(TELEMETRY_DIR ) test
96104
97- # Run tests for contrib evaluators (not included in default test target)
98- test-extras : galileo -test
105+ # Run tests for discovered contrib evaluators
106+ test-extras : contrib -test
99107
100- # Run all tests (core + extras )
101- test-all : test test-extras
108+ # Run all tests (alias for test )
109+ test-all : test
102110
103111# Run tests, lint, and typecheck
104112check : test lint typecheck
@@ -107,17 +115,17 @@ check: test lint typecheck
107115# Quality
108116# ---------------------------
109117
110- lint : engine-lint telemetry-lint evaluators-lint
118+ lint : engine-lint telemetry-lint evaluators-lint contrib-lint
111119 uv run --package $(PACK_MODELS ) ruff check --config pyproject.toml models/src
112120 uv run --package $(PACK_SERVER ) ruff check --config pyproject.toml server/src
113121 uv run --package $(PACK_SDK ) ruff check --config pyproject.toml sdks/python/src
114122
115- lint-fix : engine-lint-fix telemetry-lint-fix evaluators-lint-fix
123+ lint-fix : engine-lint-fix telemetry-lint-fix evaluators-lint-fix contrib-lint-fix
116124 uv run --package $(PACK_MODELS ) ruff check --config pyproject.toml --fix models/src
117125 uv run --package $(PACK_SERVER ) ruff check --config pyproject.toml --fix server/src
118126 uv run --package $(PACK_SDK ) ruff check --config pyproject.toml --fix sdks/python/src
119127
120- typecheck : engine-typecheck telemetry-typecheck evaluators-typecheck
128+ typecheck : engine-typecheck telemetry-typecheck evaluators-typecheck contrib-typecheck
121129 uv run --package $(PACK_MODELS ) mypy --config-file pyproject.toml models/src
122130 uv run --package $(PACK_SERVER ) mypy --config-file pyproject.toml server/src
123131 uv run --package $(PACK_SDK ) mypy --config-file pyproject.toml sdks/python/src
@@ -135,7 +143,7 @@ telemetry-typecheck:
135143# Build / Publish
136144# ---------------------------
137145
138- build : build-models build-server build-sdk engine-build telemetry-build evaluators-build
146+ build : build-models build-server build-sdk engine-build telemetry-build evaluators-build contrib-build
139147
140148build-models :
141149 cd $(MODELS_DIR ) && uv build
@@ -246,21 +254,17 @@ server-%:
246254ui-% :
247255 $(MAKE ) -C $(UI_DIR ) $(patsubst ui-% ,% ,$@ )
248256
249- # ---------------------------
250- # Contrib Evaluators (Galileo)
251- # ---------------------------
252-
253- galileo-test :
254- $(MAKE ) -C $(GALILEO_DIR ) test
257+ contrib-test :
258+ $(call run-contrib-target,test)
255259
256- galileo -lint :
257- $(MAKE ) -C $( GALILEO_DIR ) lint
260+ contrib -lint :
261+ $(call run-contrib-target, lint)
258262
259- galileo -lint-fix :
260- $(MAKE ) -C $( GALILEO_DIR ) lint-fix
263+ contrib -lint-fix :
264+ $(call run-contrib-target, lint-fix)
261265
262- galileo -typecheck :
263- $(MAKE ) -C $( GALILEO_DIR ) typecheck
266+ contrib -typecheck :
267+ $(call run-contrib-target, typecheck)
264268
265- galileo -build :
266- $(MAKE ) -C $( GALILEO_DIR ) build
269+ contrib -build :
270+ $(call run-contrib-target, build)
0 commit comments