I can't open HackerNews or GitHub Trending without seeing something around LLMs. The ecosystem is booming, there's always something new, and it's been pretty fun to watch! Recently I had a buddy show off Continue.dev, a tool that seamlessly integrates an LLM of your choosing into your daily workflows. Its capabilities extend beyond mere code building; it simplifies mundane tasks, enhances test writing, and aids in debugging. Not to mention, it's fun.
While Continue.dev is impressive, my preference for the terminal, and specifically Neovim led me to seek an alternative. My goal was to build a solution that mirrored the interactivity of a Discord conversation, complete with slash commands like my old bot from a few years back, yet capable of integrating with Neovim for a broad range of topics and problems.
One weekend morning over breakfast I put together the first commit for Oatmeal. Despite the whimsical name, this project quickly transformed into a comprehensive tool that I'd find myself reaching for while working. It's been my first attempt in the world of TUI's, and thankfully there are fantastic libraries in the Rust ecosystem like Ratatui.
I've definitely 2xed what I had initially intended as a first set of features, but I suppose all projects start off like that. Either way, it's looking great so far:
- Agnostic Backends: Choose between ChatGPT for expansive knowledge or Ollama for privacy concerns.
- Integration with Editors: When using it in an editor like Neovim, it's gotta feel like it's part of the editor.
- Fancy Chat Bubbles: It looks like a chat app! Less IRC, more iMessage.
- Slash Commands: Simplifies actions with intuitive commands, from sending data back and forth between an editor, coping to clipboard, or changing models on the fly!
- Hotkeys: A mix of both what Neovim and Discord users would expect such as CTRL+U/D for page up and down.
- Syntax Highlighting: When using it for code, it's gotta have the same look and feel as my editor, including the correct colours.
- Session Management: Being able to look back on old convos, or reopen ones that I fit fingered closed by accident.
Oatmeal is not just another chat application; it's a tool that caters to the needs of modern tech enthusiasts, developers, and anyone who loves a good terminal interface. It blends traditional UI elements with modern functionalities. Whether you're looking to interact with LLMs, finding a new daily workflow, or simply enjoy a sleek terminal chat, I hope you find Oatmeal worth exploring.
Check it out on Github, and the quick Neovim integration demo below! Thanks for reading!