kli
kli is a radically extensible coding agent you rewrite while it runs.
kli is a coding agent that runs inside its own live SBCL image. The boot kernel is
small: it knows only how to install, switch, and roll back protocols. The extension
system itself — the manifests, contribution kinds, capabilities, and tools — is a
protocol installed on that kernel through those same verbs. Every model provider,
every tool, the agent loop, and the whole TUI is an extension, and every contribution
carries a retractor, so retraction drains exactly what it added. You install, retract,
swap, or hot-patch any of it from the REPL without dropping the session. Extensions
all the way down. If that makes you want to open src/kernel.lisp, kli is for you.
Install on Linux or macOS:
curl -fsSL https://kli.kleisli.io | sh
Run kli inside a project to start a session. Source and releases are on
GitHub.
Learn
Get started is a fast orientation for someone already at home in a terminal and a coding agent: install, the one credential, and the handful of things a kli session does differently. Guides are goal-named recipes for when you already know what you want; Concepts explain the machine underneath — the live image, the agent loop, sessions as a tree, and how permissions are decided.
Extend
Extend kli is one mechanism at three altitudes. Above the boot kernel, everything is an extension you install with a retractor: feed the builtin prompt-templates and skills extensions a Markdown file, write your own contribution, or define a new contribution kind. The same install and retract shape throughout.
Reference
Reference is the exact catalogue. CLI & Install covers the command-line interface and every install path; Commands, Tools & TUI documents every slash command, tool, and key in the interface; Settings & Files is the configuration and on-disk layout; and Models & Providers lists the model line-up across providers.