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:

  1. User enters a natural language request
  2. The LLM converts it into a shell command
  3. Commands are validated for safety
  4. Safe commands are executed locally

The project was developed in WSL using VS Code.

Challenges we ran into

  1. Making LLM outputs deterministic and command-only
  2. Handling working directory persistence (cd behavior)
  3. Validating commands to avoid unsafe execution

Accomplishments that we're proud of

  1. Built a fully local AI-powered CLI assistant without relying on cloud APIs
  2. Successfully converted natural language into executable shell commands
  3. Achieved a deterministic, terminal-like experience
  4. Implemented command validation to improve execution safety
  5. Added working directory persistence for a more realistic CLI workflow

What we learned

Through Jarvis Jr, we learned about:

  1. LLM prompt engineering for consistent command generation
  2. CLI application design and terminal workflows
  3. Safe command validation and execution
  4. Working with local LLMs using Ollama
  5. Handling filesystem operations and shell behavior in Linux/WSL

What's next for Jarvis

We plan to improve Jarvis by:

  1. Supporting more complex multi-step tasks
  2. Improving command accuracy and contextual understanding
  3. Adding better safety checks for risky commands
  4. Expanding support for more shell environments and workflows
  5. Making Jarvis smarter while still keeping it lightweight and local

Built With

  • bash
  • ollama
  • prompt
  • pydantic
  • python
  • qwen2.5-coder
  • shlex
  • subprocess
  • toolkit
  • typer
  • vs
  • wsl
Share this project:

Updates

posted an update

Jarvis Update: New File Intelligence Features

Added a major upgrade to Jarvis focused on smarter file handling directly from the terminal.

  1. Direct File Editing

Jarvis can now open and edit files directly through terminal editors.

Example:

User: edit notes.txt

Jarvis: nano notes.txt

You can now write or modify files more naturally without manually typing commands.

  1. Pattern Detection

Added support for finding patterns or text inside files and also in names of files (this makes searching files simple)

Examples:

  • Find keywords
  • Search TODO comments
  • Locate matching text across files

Example:

User: find TODO in project files

Jarvis: grep -rn "TODO" .

  1. File Metadata Support

Jarvis can now retrieve file information such as:

  • Last modified date
  • File size
  • Permissions
  • Other metadata

Example:

User: show details of report.txt

Jarvis: stat report.txt

The goal is to make Jarvis feel more like an intelligent terminal assistant that can understand and interact with files naturally.

Log in or sign up for Devpost to join the conversation.