Ever heard of J.A.R.V.I.S. from Marvel's Iron Man? He is the highly intelligent, polite AI assistant that supports Tony Stark. I've always dreamed of building my very own J.A.R.V.I.S. to help me with my daily development.
But in reality, our daily workflow looks nothing like that. Have you ever run a command, gotten an obscure error, and had to copy-paste the output into a browser or ChatGPT just to figure out what went wrong?
As developers, we do this multiple times a day. It completely breaks our flow state. I wanted to stop doing this. I wanted a true "J.A.R.V.I.S."-like experienceβan assistant that lives inside my shell, already knows what just happened, and can help me instantly.
So, I built Jarvish.
tominaga-h
/
jarvis-shell
Next Generation AI Integrated Shell inspired by J.A.R.V.I.S. on marvel
π€΅ Jarvis Shell (jarvish)
π‘ About
"I want J.A.R.V.I.S. as my companion β but inside my terminal."
Jarvish is a Next Generation AI Integrated Shell written in Rust, inspired by J.A.R.V.I.S. from Marvel's Iron Man. It natively embeds AI intelligence into your everyday shell experience β no more copy-pasting errors into a browser. Just ask Jarvis.
β¨ Features
π§ AI-Powered Assistance
- π¬ Talk to Jarvis in natural language β right from your shell prompt
- π When a command fails, Jarvis automatically investigates the error using stdout/stderr context
- π οΈ Jarvis can read and write files, execute commands as an AI agent with tool-calling capabilities
π Fish-like UX
- π¨ Real-time syntax highlighting as you type
- β‘ Auto-completion for commands (PATH binaries, builtins) and file paths
- π History-based suggestions powered by
reedline
π¦ The Black Box
- ποΈ Every command execution is persisted β command, timestamp, working directory, exitβ¦
I feel so great to switch seamlessly between just command and natural language. I want to feel that to you.
β¨ See it in action
π οΈ Why not just an AI CLI tool?
There are already great tools like GitHub Copilot CLI, but they are separate from your shell environment. You have to explicitly call them, and they don't know the context of the command you just ran.
Jarvish is different. It's a fully functional interactive shell.
-
No mode switching: If you type
ls -la, it runs the command. If you typeJarvis, why did my last build fail?, a built-in heuristic classifier routes it to the AI. -
The "Black Box" Context: This is the magic. Jarvish silently captures all your
stdout/stderrin the background, compresses it, and saves it to a local SQLite database. When you talk to the AI, it automatically retrieves your recent I/O history as context.
π¦ Built with Rust
As a Rustacean, building a shell from scratch was an amazing journey. Here is a sneak peek under the hood:
- reedline: Provides the rich, Fish-like REPL experience (syntax highlighting, autosuggestions).
-
os_pipe: Used to tee the output of child processes. It captures the output to memory for the AI, while simultaneously rendering it to the terminal without breaking interactive tools. -
async-openai: Powers the agent loop. Jarvish doesn't just chat; it uses function calling to autonomously read files, execute commands, and investigate issues.
π Try it out!
Jarvish is currently at v1.0.1 and I use it as my daily driver. It's open-source and I would absolutely love for you to try it!
cargo install jarvish


Top comments (0)