.PHONY: deps-stable deps-low cs phpstan tests unit-tests inspector-tests coverage ci ci-stable ci-lowest conformance-tests conformance-server conformance-client docs deps-stable: composer update --prefer-stable deps-low: composer update --prefer-lowest cs: vendor/bin/php-cs-fixer fix --diff --verbose phpstan: vendor/bin/phpstan --memory-limit=-1 tests: vendor/bin/phpunit unit-tests: vendor/bin/phpunit --testsuite=unit inspector-tests: vendor/bin/phpunit --testsuite=inspector conformance-tests: conformance-server conformance-client conformance-server: docker compose -f tests/Conformance/Fixtures/docker-compose.yml up -d @echo "Waiting for server to start..." @sleep 5 rm -rf tests/Conformance/results cd tests/Conformance && npx @modelcontextprotocol/conformance server --url http://localhost:8000/ --output-dir results || true php tests/Conformance/score.php server docker compose -f tests/Conformance/Fixtures/docker-compose.yml down conformance-client: rm -rf tests/Conformance/results cd tests/Conformance && npx @modelcontextprotocol/conformance client --command "php $(CURDIR)/tests/Conformance/client.php" --suite all --expected-failures conformance-baseline.yml --output-dir results || true php tests/Conformance/score.php client coverage: XDEBUG_MODE=coverage vendor/bin/phpunit --testsuite=unit --coverage-html=coverage ci: ci-stable ci-stable: deps-stable cs phpstan tests ci-lowest: deps-low cs phpstan tests docs: vendor/bin/phpdoc @grep -q 'No errors have been found' .phpdoc/build/reports/errors.html || \ (echo "Documentation errors found. See build/docs/reports/errors.html" && exit 1)