smelt logo

smelt

Documentation  ·  Lua API  ·  Releases  ·  Issues

> [!WARNING] smelt is in active development. `main` is 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.

demo

## 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 auth` for ChatGPT and Copilot. ## Install Prebuilt binaries on the [Releases](https://github.com/leonardcser/smelt/releases) page, or from source: ```bash cargo install --git https://github.com/leonardcser/smelt.git ``` ## Run **Subscription providers** (ChatGPT Pro/Plus, GitHub Copilot, Kimi Code): ```bash smelt auth # one-time login smelt # provider auto-detected from credentials ``` **API-key providers** (any OpenAI-compatible endpoint): ```bash # 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](https://leonardcser.github.io/smelt/)**. ## License MIT, see [LICENSE](LICENSE). Inspired by [Claude Code](https://github.com/anthropics/claude-code) and [Neovim](https://github.com/neovim/neovim).