Skip to content

CI/CD Pipeline

Runs on push and PR to main. Jobs:

  1. lint — ruff format --check . then ruff check . (Python 3.12)
  2. test — pytest tests/ -v --tb=short, matrix Python 3.8–3.12. needs: lint so a format miss fails the whole matrix.

Local equivalent (matches CI exactly):

Terminal window
ruff format --check . && ruff check . && pytest tests/ -v

Triggered on push of a v*.*.* tag. Steps:

  1. Verify that the tag version matches pyproject.toml [project].version. If they differ, the release fails. Both __init__.py.__version__ and plugin.yaml.version must also be bumped (this check only covers pyproject.toml vs the tag — see RELEASING.md for the full checklist).
  2. Create GitHub Release (no build artifact — Hermes installs directly from the repo).

.githooks/pre-commit runs the same three checks (format + lint + tests). Enable with git config core.hooksPath .githooks.

hermes-telemetry is an independent community plugin for Hermes Agent. It is not affiliated with or endorsed by Nous Research.