You're alt-tabbing to a browser to ask an AI how to use grep. In 2026. sparkle-cli brings local LLMs directly into your Zsh workflow — because you deserve better, and also because your student loans aren't going to pay themselves.
Features
Talks directly to Ollama over native HTTP. Your prompts stay on your machine. Big Tech doesn't get to train on your rm -rf / accidents.
One keybind summons the TUI. Accept a response and it teleports into your shell buffer. Fewer keystrokes than texting your PM that you're "almost done."
/search hits SearXNG, reads the pages, and gives you a summary with sources. Like Stack Overflow, but the answers aren't from 2009.
Normal, Reasoning, and Chat. Press Ctrl+T to cycle. Pick the one that matches how much you're willing to wait before screaming into the void.
Ctrl+E opens your prompt in Neovim, Vim, VS Code or Emacs. For when your prompt needs more crafting than your last Tinder bio.
XDG-compliant YAML at ~/.config/sparkle-cli. Custom commands, custom models, custom timeouts. It respects your choices, unlike your family at Thanksgiving.
Slash Commands
Slash commands expand before hitting Ollama. You can define your own in the config. Yes, with your own templates. Yes, it's basically personalized. No, it doesn't cost $20/month.
Keybindings
Every action mapped to a keystroke. Your hands never leave the keyboard. Carpal tunnel is between you and your physiotherapist.
Invoke from Zsh via Ctrl+G after sourcing scripts/init.zsh. Yes, you have to edit your .zshrc. You'll live.
Thinking Modes
Fast. Direct. No memory of previous messages. Like texting someone who immediately forgets your entire conversation. Ideal for quick commands.
The model thinks before it answers. Step-by-step. Out loud. Like that one coworker in standups who processes everything verbally. But useful.
Full context on every request. It remembers what you said. It's basically a therapist — except it actually listens and doesn't cost $200/hour.
Get Started
Requires Go 1.22+, Ollama running locally, and Zsh with ZLE. If you don't have these, no worries — the README will love you through it.
# 1. Install the binary
go install github.com/janoamaral/sparkle-cli/cmd/sparkle-cli@latest
# 2. Add the Zsh widget (Ctrl+G binding)
echo 'source /path/to/sparkle-cli/scripts/init.zsh' >> ~/.zshrc
# 3. Reload and launch
source ~/.zshrc && sparkle-cli
# Optional: run directly with context
go run ./cmd/sparkle-cli --context "git log --oneline"
Config at ~/.config/sparkle-cli/config.yaml · XDG compliant · MIT licensed · 0 VCs harmed in its making