The family
mnml is one of two small Rust tools by Chris McLennan. They each
solve a different problem — an IDE, a DJ rig — but they ship from
the same workshop and share the same design language (the charcoal
rounded-square icon, the > shell-prompt wordmark, the monospace
identity).

mnml
A NvChad-style terminal IDE in Rust.
Vim or standard editing — both first-class, both fully remappable, neither buried in if vim . LSP, git, an embedded HTTP client, AI panes, a headless test harness, 94 themes, 39+ tree-sitter languages.
What’s it good for: daily-driving code in a terminal without giving up an IDE’s reach.
Install mnml
mixr
A full DJ rig in one terminal binary.
Beatport streaming, beat-locked crossfades, a Claude DJ that picks the next track, hardware MIDI controller support. Runs standalone, or opens as a Pty pane inside mnml via mixr.show.
What’s it good for: mixing electronic music from the same terminal you’re coding in.
Install mixrHow they fit together
Section titled “How they fit together”They share more than a coat of paint:
- Shared design language. Charcoal rounded-square icons, a
>prompt accent in each app’s color (cool blue for mnml, gold for mixr), monospace wordmarks. Same family settings UI idiom — a sectioned scrollable list with▸ <label>: [active] / other *rows, the same keybindings (←→adjust,↑↓move,rreset row,Rreset all,Entersave,Esccancel). - Shared
fim-engine. The same in-process FIM (fill-in-the-middle) Rust crate powers mnml’s optional offline inline suggestions. The same quantized model lives in both apps’ caches.
You don’t need both. mnml is happy in any terminal (iTerm2, Alacritty, kitty, Terminal.app, Ghostty, Windows Terminal); mixr runs standalone too. But run them together and the seams disappear.