Skip to content

Contributing

For repository setup and PRs, see the Contributing Guide; for shared methodology changes, follow the Canonical Source Workflow.

@maestria/hermes is a Python plugin with hand-authored adapter code and methodology skills generated from packages/core/agent-directives/.

  • Keep reusable methodology in packages/core/agent-directives/, not in Hermes-only prompts.
  • Use Hermes-native APIs for commands, delegation, LLM calls, goals, and memory.
  • Keep trust decisions in the native topology and permission boundary; specialist names do not grant child capabilities.
  • Keep optional integrations (memory providers, mode-footer output) outside the core plugin path.

See ADR-HM-001 for the long-lived goal boundary.

Terminal window
hermes plugins install /path/to/maestria/packages/hermes --enable
pytest packages/hermes/
ruff check packages/hermes/src/

Register commands, hooks, middleware, and tools through their registration functions (register_command, register_hook, register_middleware, register_tool) and keep the matching provides_* entries in plugin.yaml. Hermes-only skills go under src/maestria_hermes/skills/ and register under the bare skill name; everything else comes from the canonical source. The tests compare plugin.yaml and register() in src/maestria_hermes/__init__.py; update both when adding or removing a resource.

Use the Hermes commands and installation guide for user-facing behavior.