Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ plugin.
`register_plugin` with an explicit receipt identity. Iterable registration
must retain module registration's duplicate checks, deterministic ordering,
skills, and `RegistrationSummary` contract.
- Consumer plugins must pin this package to an immutable commit, not a moving
branch. Profiles that install multiple plugins into one Python environment
must keep every consumer on the same kit revision.
- Use `invoke_host_tool` for host-managed capabilities such as `send_message`;
do not assume every Hermes capability is registered in `tools.registry`.
Nested host calls must remain visible to `pre_tool_call` and `post_tool_call`.
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,13 +87,15 @@ uv add git+https://github.com/offendingcommit/hermes-plugin-kit.git
pip install git+https://github.com/offendingcommit/hermes-plugin-kit.git
```

With uv, pin it as a source in your plugin's `pyproject.toml`:
With uv, pin it to an immutable commit in your plugin's `pyproject.toml`.
Profiles that load several plugins into one Python environment must keep every
plugin on the same kit revision:

```toml
dependencies = ["hermes-plugin-kit"]

[tool.uv.sources]
hermes-plugin-kit = { git = "https://github.com/offendingcommit/hermes-plugin-kit.git", branch = "main" }
hermes-plugin-kit = { git = "https://github.com/offendingcommit/hermes-plugin-kit.git", rev = "<commit-sha>" }
```

## Usage
Expand Down