Inspiration
Developers often spend time remembering terminal commands or searching online for syntax. I wanted to build a tool that makes terminal usage easier by allowing users to write commands in plain English.
The idea behind Jarvis was to create a lightweight AI assistant that feels like a real terminal rather than a chatbot.
What it does
Jarvis is a local AI-powered CLI assistant that converts natural language into shell commands.
Users can type requests like:
"create a python virtual environment"
"show running python processes"
and Jarvis generates the correct bash command for execution.
Key features:
- Natural language to shell commands
- Local/offline execution
- Command safety validation
- Persistent working directory support
- Minimal terminal-like experience
How we built it
Jarvis was built using Python, Ollama , and a local LLM (Qwen2.5-Coder).
The workflow is simple:
- User enters a natural language request
- The LLM converts it into a shell command
- Commands are validated for safety
- Safe commands are executed locally
The project was developed in WSL using VS Code.
Challenges we ran into
- Making LLM outputs deterministic and command-only
- Handling working directory persistence (
cdbehavior) - Validating commands to avoid unsafe execution
Accomplishments that we're proud of
- Built a fully local AI-powered CLI assistant without relying on cloud APIs
- Successfully converted natural language into executable shell commands
- Achieved a deterministic, terminal-like experience
- Implemented command validation to improve execution safety
- Added working directory persistence for a more realistic CLI workflow
What we learned
Through Jarvis Jr, we learned about:
- LLM prompt engineering for consistent command generation
- CLI application design and terminal workflows
- Safe command validation and execution
- Working with local LLMs using Ollama
- Handling filesystem operations and shell behavior in Linux/WSL
What's next for Jarvis
We plan to improve Jarvis by:
- Supporting more complex multi-step tasks
- Improving command accuracy and contextual understanding
- Adding better safety checks for risky commands
- Expanding support for more shell environments and workflows
- Making Jarvis smarter while still keeping it lightweight and local
Log in or sign up for Devpost to join the conversation.