Automation

Use make for the common local workflows and GitHub Actions for release automation.

Local commands

make install
make lint
make type
make test
make test-e2e
make docs
make build
make publish-check

make test-live runs the opt-in Tavily smoke test. It requires .env with TAVILY_API_KEY and sets TAVILY_FASTMCP_ENABLE_LIVE_TESTS=true for that command only.

GitHub workflows

  • CI: installs all groups, then runs Ruff, mypy, and pytest.

  • Docs: builds Sphinx HTML and uploads the rendered site artifact.

  • Build: builds source and wheel distributions, then checks package metadata.

  • Release: publishes distributions to PyPI from GitHub Releases using trusted publishing.

Run make publish-check before tagging a release.