Written in Go for snappy performance and a lean codebase.
I wanted a tool that did not put heavy layers abstraction between me and the model, and I think `lmcli` succeeds at this. Support for more use-cases have gradually been added, but only as those use-cases have become apparent as "fundamental" to LLM usage, e.g. the agentic tool-calling loop.
`lmcli` doesn't come with a built in agent - agents are configured with a system prompt and set of available tools. The README merely provides an example of how one build a coding agent with `lmcli` (one that happens to work pretty well!)
v0.5.0 adds image support. Yes, support for attaching images to conversations in a TUI! And it doesn't feel awful?
It's not perfect, but I think it's good enough for others to find useful.
Enjoy.