Terret
A Ruby-native agent harness where everything is a plugin.
Terret is a Ruby framework for running AI agents, tied to no particular model provider. An agent here is a language model in a loop: the model reads a conversation, asks for tools, the harness runs them and writes the results back, and the loop goes around again until the turn finishes. Terret is everything around that loop.
Every piece of the machinery is a plugin. The session log, the tools pipeline, the loop itself, the model adapter, the network interfaces, and the sandbox are all rows in a YAML config, so swapping an implementation means swapping a row. The kernel that mounts those plugins knows nothing about language models.
gem install terret
Read the docs GitHub v0.1.0 release
The gems
- hames: the kernel.
- terret-core: the harness.
- terret-openrouter: the model adapter.
- terret-store-sqlite: durable session storage in SQLite.
- terret-ws: the WebSocket interface.
- terret-acp: the editor interface over the Agent Client Protocol.
- terret-mcp: the MCP client.
- terret-morph: a compaction provider.
- terret-exec: the execution world.
- terret-tools-std: the standard tools.
- terret-sandbox-docker: the container sandbox.
- terret: the meta-gem you install.