Documentation
ΒΆ
Overview ΒΆ
Command hmm is a quick-ask agent for the command line, built on weft. main only wires the OS streams and signals; the CLI itself lives in internal/cli.
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
internal
|
|
|
agent
Package agent resolves provider configuration into a weft.Model and assembles the hmm agent: name, system prompt, core tools, loop policy.
|
Package agent resolves provider configuration into a weft.Model and assembles the hmm agent: name, system prompt, core tools, loop policy. |
|
cli
Package cli is hmm's command line: flag parsing, stdin handling, the turn pump, session persistence, and exit codes.
|
Package cli is hmm's command line: flag parsing, stdin handling, the turn pump, session persistence, and exit codes. |
|
config
Package config loads hmm's set-it-once configuration file β provider, model, and provider keys, so a plain `hmm "question"` needs no flags and no env vars.
|
Package config loads hmm's set-it-once configuration file β provider, model, and provider keys, so a plain `hmm "question"` needs no flags and no env vars. |
|
models
Package models lists the models a provider account actually offers β `hmm models`.
|
Package models lists the models a provider account actually offers β `hmm models`. |
|
plugins
Package plugins is hmm's tool library: model-written tools live as subprocesses behind a manifest, are mounted as first-class weft tools via weft.RawTool, and β thanks to weft.ToolSource β a plugin installed mid-run is callable by name in the next step.
|
Package plugins is hmm's tool library: model-written tools live as subprocesses behind a manifest, are mounted as first-class weft tools via weft.RawTool, and β thanks to weft.ToolSource β a plugin installed mid-run is callable by name in the next step. |
|
procs
Package procs configures subprocess execution so that cancelling a command's context actually bounds the call.
|
Package procs configures subprocess execution so that cancelling a command's context actually bounds the call. |
|
session
Package session persists every hmm run as a JSONL file in weft's message wire format: line 1 is a session header, then one weft Message per line, then a final usage line.
|
Package session persists every hmm run as a JSONL file in weft's message wire format: line 1 is a session header, then one weft Message per line, then a final usage line. |
|
textutil
Package textutil trims byte-capped output back to UTF-8 rune boundaries.
|
Package textutil trims byte-capped output back to UTF-8 rune boundaries. |
|
tools
Package tools defines hmm's core tools: read_file, list_dir, grep, and run_command.
|
Package tools defines hmm's core tools: read_file, list_dir, grep, and run_command. |
|
ui
Package ui is hmm's Charm layer β every terminal write in the binary goes through it (the rule crush gives its TUI, scaled to an enriched CLI):
|
Package ui is hmm's Charm layer β every terminal write in the binary goes through it (the rule crush gives its TUI, scaled to an enriched CLI): |
Click to show internal directories.
Click to hide internal directories.