Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/hive-template/README.md
damocles c0eb6780ec templates: the agent system prompt is a Jinja template, rendered through hive-template
system.md carries {{ label }}-style variables and an {% if not archetype %} block in place of the config:repo / config:archetype marker pairs, so prompt.rs drops its line filter, marker parsers and string replaces. The rendered prompt is byte for byte the old one for a custom agent, an archetype agent and an empty archetype name, with and without hive, swarm, docs and operators. hive-template now drops a block tag's own line.
2026-11-11 09:04:42 +01:00

17 lines
867 B
Markdown

# hive-template
The one template language the hyperhive workspace renders with: Jinja, through
[`minijinja`](https://crates.io/crates/minijinja). A value is `{{ name }}`, a
block is `{% if cond %}...{% endif %}`, and a lone `{` or `}` stays plain text.
- **`render(template, &context)`**: the text, or a message when the template
does not parse or names a variable the context lacks. An unknown variable is
an error, never an empty string.
- A block tag alone on its line leaves no line behind (`trim_blocks` and
`lstrip_blocks` are on), so a template ending in a block tag and a newline
loses that newline.
- **`variables(template)`**: the variables the template reads, so a caller can
refuse an unknown field when the template is saved instead of when it renders.
Used by the notification router's flow templates (`swarm-notify-router`,
`swarm-wire`).