README.md
June 16, 2026 · View on GitHub
smelt
Documentation · Lua API · Releases · Issues
[!WARNING] smelt is in active development.
mainis mid-refactor, so code and docs are not fully in sync and some features are unfinished. Use the latest pre-release tag and update often. The last stable release is significantly behind and not recommended.
Why
Most coding agents are bloated and hard to customize. smelt is small, fast, and scriptable in Lua like Neovim. Built from scratch, with care for the details.
What's inside
- Lua plugins. Keymaps, commands, autocmds, custom tools, and custom modes.
- Terminal renderer. Its own grid and layout engine, not
ratatui. - Vim editor. Motions, text objects, registers, undo.
- Deterministic fuzzing. Fixed clock and stubbed I/O, so any crash can be replayed.
- No config needed. Run with flags, or
smelt authfor ChatGPT and Copilot.
Install
Prebuilt binaries on the Releases page, or from source:
cargo install --git https://github.com/leonardcser/smelt.git
Run
Subscription providers (ChatGPT Pro/Plus, GitHub Copilot, Kimi Code):
smelt auth # one-time login
smelt # provider auto-detected from credentials
API-key providers (any OpenAI-compatible endpoint):
# local model via Ollama
smelt --model qwen3.6:27b --api-base http://localhost:11434/v1
# OpenAI, Anthropic, OpenRouter, etc.
smelt --model gpt-5.5 --api-base https://api.openai.com/v1 --api-key-env OPENAI_API_KEY
Or just run smelt with no arguments and follow the wizard. By default the
mode cycle is Normal → Apply → Yolo; enable the optional Plan mode plugin with
require("smelt.plugins.plan_mode") in ~/.config/smelt/init.lua.
Docs
Full documentation for configuration, Lua API, keybindings, permissions, providers, and plugin authoring lives at leonardcser.github.io/smelt.
License
MIT, see LICENSE. Inspired by Claude Code and Neovim.