Skip to content

maxoubvd/jarvis-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jarvis Agent Logo

Jarvis Agent

Your autonomous software engineer, right inside VS Code.


Jarvis Agent is a next-generation extension for Visual Studio Code. Whether you want to automate component creation, debug a complex system, or explore a huge codebase, Jarvis integrates seamlessly into your local environment to assist you.


Here is an example of what you can do with Jarvis Agent.

✨ Key Features

1. Inline Editing (Cmd+K)

Select any block of code, press Cmd+K Cmd+K (or Ctrl+K Ctrl+K on Windows/Linux), and give Jarvis an instruction (e.g. "Add robust error handling to this function").

The AI writes the code live, and CodeLens (✓ Accept / ✗ Reject) lets you approve or reject the change line by line.

2. Context Understanding (RAG & AST Pruning)

Jarvis doesn't suffer from the typical token limits of other AIs:

  • @file: Instantly reference specific files in your requests.
  • Semantic RAG (@docs): Search your documentation and entire project by concept, not just by keyword.
  • AST Pruning: Jarvis analyzes syntactic structure (with tree-sitter) to read only the important functions of a giant file without saturating the context.

3. Autonomous Execution (Terminal & TDD)

Jarvis doesn't just write code, it runs it.

  • TDD Workflow: Type /tdd write me a fibonacci function and Jarvis will write the test, try to run it, see the error, write the implementation, and verify the test passes.
  • Integrated Terminal: The agent can run npm install, git commit, or cargo build. Human-in-the-Loop (HITL): in strict mode, it asks for your permission first.

4. Connected to Everything (MCP Standard)

Thanks to the Model Context Protocol (MCP), Jarvis can use external tools. Connect it to GitHub, a PostgreSQL database, or a third-party MCP server directly from the Settings tab. The built-in web search (search_web) is powered by DuckDuckGo — entirely free, no API key or account needed — with configurable default sources (StackOverflow, MDN, GitHub, or your own domains).

5. Specialized Agents & Project Instructions

  • 5 dedicated agents (@QA-Agent, @Doc-Agent, @Refactor-Agent, @Security-Agent, @Perf-Agent), each with tool access genuinely restricted to its role — @Security-Agent audits read-only, @QA-Agent runs tests without ever editing code.
  • JARVIS.md: type /init (or Jarvis: Initialize Project in the command palette) so Jarvis initializes git if needed, analyzes your project, and generates an instructions file versioned with the code — shared with the whole team, unlike personal rules.
  • Folder-scoped rules: scope a rule to a subfolder (src/backend/**) so it only applies to the relevant files.
  • Persistent task checklist above the chat, auto-filled for /workflow runs.
  • Auto-open of the file being edited, with green/red decorations already in place.
  • Inline autocomplete (Tab) — ghost-text suggestions as you type; disabled by default, enable it in Settings > Optimization.

🚀 Installation & Quick Start

  1. Install Jarvis Agent from the VS Code Marketplace.
  2. Click the Jarvis icon in the left sidebar (or run the Jarvis: Start Chat command).
  3. The Welcome screen will guide you through configuring your first model!

Provider Compatibility

Jarvis is agnostic. You choose the brain behind your agent:

  • Local (Free & Private): Connect Ollama or LM Studio in one click. We recommend recent models like qwen2.5-coder:7b or llama3:8b.
  • Cloud (Ultra Performant): Connect OpenRouter, Mistral AI, or any OpenAI-compatible API to use state-of-the-art models. For excellent performance completely free with no latency, we recommend Mistral AI models directly from the Mistral provider. Create a free API key here.

📖 Advanced User Guide

Chat Modes

  • Automatic: Jarvis analyzes the model's size and the task's complexity to choose between a plain text answer or a decomposition workflow (Task Decomposer).
  • Fast: Quick text-only replies, no tool execution.
  • Plan: Jarvis always creates a Markdown plan (implementation_plan.md) for you to validate the architecture before it touches any code.

Keyboard Shortcuts

  • Cmd+K Cmd+K (Mac) or Ctrl+K Ctrl+K (Win): Inline editing of a code selection.
  • Tab: Accepts an inline autocomplete suggestion (if enabled in Settings > Optimization).
  • /new: Starts a new conversation (clears context).
  • /init: Initializes git if needed and generates JARVIS.md from a project analysis.
  • /rollback: Opens the "Checkpoints" list to fully undo Jarvis's impact on your project.

Stop Button

If a task is taking longer than expected or a command is stuck, use the stop button (Square) in the chat panel to interrupt the agent and cancel the current request.


⚙️ Advanced Settings & Configuration

All configuration is stored in ~/.jarvis/config.json (+ an optional per-workspace override in jarvis/jarvis-config.json). You can configure Jarvis visually via the Settings tab:

  • Adjust verbosity (Concise / Detailed).
  • Hide or show the agent's thoughts.
  • Manage jarvisignore to prevent access to certain sensitive folders.
  • Configure MCP server profiles.
  • Configure your default sources for web search (free via DuckDuckGo, no key required).
  • Customize specialized agents (system prompt + allowed tools) and rules (global or folder-scoped).
  • Enable auto-open of the edited file (always/never/strict-hitl-only) and inline autocomplete (disabled by default).

💡 Tips & Best Practices

Get the most out of Jarvis and keep your token usage under control:

  • Write a JARVIS.md: run /init once per project. It's versioned with the code (unlike personal rules), so the whole team benefits from the same project context on every request.
  • Scope rules to folders: instead of one long global rule, give a rule a scope glob (e.g. src/backend/**) so it only loads for the files it's actually relevant to — shorter prompts, more focused answers.
  • Save your own prompts as /shortcuts: Settings > Prompts lets you turn any recurring instruction into a /name shortcut. Jarvis ships with two disabled examples — a Commentator rule and an /explain prompt — enable them or duplicate them as a starting point for your own.
  • Reach for @file and @docs before pasting code: @file:path pulls in exactly the file you mean, and @docs:query searches your indexed documentation semantically — both are cheaper and more accurate than dropping large code blocks into the chat.
  • Match the chat mode to the task: use Fast for quick text-only questions (no tool calls, no token overhead), Automatic for everyday coding, and Plan when you want to validate the approach before Jarvis touches any files.
  • Delegate to a specialized agent: @Security-Agent for a read-only audit, @QA-Agent to just run tests, @Refactor-Agent when you want edits re-verified against the test suite — each has tool access restricted to its role, which keeps it focused and safer to run unattended.
  • Let /tdd and /workflow structure multi-step work: /tdd <task> drives a write → test → fix loop automatically, and /workflow <id> <task> runs one of the predefined multi-step sequences (or dynamic for an auto-decomposed task) instead of you prompting step by step.
  • Tune HITL to your risk tolerance: strict mode confirms every terminal command and edit, moderate trusts routine actions, free lets Jarvis run autonomously — pick per project depending on how much you want to supervise.
  • Use checkpoints as a safety net: Jarvis stashes a git checkpoint before actions/workflows, so /rollback (or the Checkpoints tab) lets you experiment freely and undo anything that goes wrong.
  • Keep secrets out of the sandbox: maintain .jarvisignore (auto-generated, stricter than .gitignore) so credentials and sensitive folders are never read or sent to a cloud model.
  • Tag model roles deliberately: in Settings > Models, assign a fast/cheap model to autocomplete and a stronger one to chat, instead of using a single model for everything.

🤝 Contributing & Support

Jarvis is a community project, built by developers, for developers.

Made for the VS Code community.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors