JARVIS — The intelligence system for your agents.

Everything your agents need to know, remember, and do.

JARVIS is an intelligent layer that gives agents access to their code, knowledge, context, memory, tools, and runtime — starting locally on your machine, with the ability to extend into the cloud.

  • Code Shipped
  • Knowledge Planned
  • Context Planned
  • Memory Planned
  • Tools Planned
  • Runtime Planned

Codebase intelligence ships today: indexing and search across your own repositories, available in Claude Code, Codex CLI, and Cursor.

Install the binaries
Index a repository
How it works
macOS and Linux MIT licensed plugin v0.7.0

Pipeline

Index once. Nothing leaves the room.

One command turns a repository into a local index. Your agent queries that index directly — same machine, same disk, no round trip.

The jarvis pipeline Four stages, all on your machine: your repository, the jarvis index command, the local index it produces, and your coding agent reading from that index. YOUR MACHINE Your repository stays where it is jarvis index one command Local index on your disk Your agent asks, and gets answers

No step in this pipeline contacts a network service.

Using jarvis

You ask a question. The skill picks the tool.

The plugin ships three skills. Your client loads the right one on demand — you never call an MCP tool by hand.

Skill 01 · Onboard

jarvis-setup

Prerequisites, setup.sh, MCP registration, and your first index. Fires when you are setting up a machine or indexing a repository for the first time.

Skill 02 · Every day

jarvis-use

The matrix below, plus one rule it applies before every call: check the index, reindex it if stale, and fall back to grep if the repository was never indexed.

Skill 03 · When it breaks

jarvis-issues

Collects the error payload, version, and OS, checks them against the known limitations, and drafts the report — then asks you before filing anything public.

What you askWhat jarvis-use runs
Where is X defined?goToDefinition(repo, X)
Who calls X?findReferences(repo, X)
What calls X, and what does X call?callHierarchy(repo, X)
What are X's supertypes and subtypes?typeHierarchy(repo, X)
What lives in this file?documentSymbols(repo, path)
Is this repository indexed, and is it current?getIndexStatus(repo, repo_path)
What else breaks if I change this package?blastRadius(repo, pkg)
Find this exact string.searchCode(query, repo?)
Find this idea, however it is worded.semanticSearch(repo, query)
Example exchange Illustrative
you   Who calls search_zoekt?
      → getIndexStatus(repo="jarvis", repo_path="~/src/jarvis")
      ← indexed · fresh at HEAD
      → findReferences(repo="jarvis", symbol="search_zoekt")
      ← 3 references
          src/search/zoekt.py:212
          src/router.py:88
          tests/test_search.py:41

A bare symbol name is enough. When one is ambiguous, jarvis returns a list of candidates rather than guessing — you retry with the one you meant.

One caveat worth knowing up front. semanticSearch needs the [semantic] extra, and the plugin's default MCP registration deliberately omits it so cold start stays free of lancedb and torch. Using it means registering a second, differently-named server — jarvis-semantic.

Agent skills

Give your agent the skills.

One plugin carries all three. Add the marketplace, install it, then run setup.sh once — it skips whatever is already present.

Client 01

Claude Code

Two commands in the client. The marketplace and the plugin share a name.

Client 02

Codex CLI

Same two steps from your shell, pinned to the main ref.

Client 03

Cursor

Cursor exposes no CLI for adding a marketplace. On Teams or Enterprise: Dashboard → Plugins → Add Marketplace → Import from Repo. On any plan, symlink the plugin directory instead.

Then, on every client. Install the external binaries with setup.sh, then index a repo.

Local-first

Four claims, each with the mechanism that enforces it.

These are checkable rather than promised. Every row names the thing you can go read.

ClaimEnforcement
No telemetry, no analyticsNo analytics code, and no outbound calls during queries.
The only network egress at runtime is the wheel fetchuvx on first server start, plus a one-time embedding-model download if you install the [semantic] extra.
Indexes are read-onlyOpened mode=ro&immutable=1.
Dependencies are pinned and verifiedExact commit or tag pins, each with a written justification; every tarball SHA256-verified before install.

Roadmap

Know, remember, do.

Three things an agent needs, and the axis jarvis is built along. Only the first has started shipping, and nothing here carries a date.

Codebase shipped

Know

What an agent can look up. Your codebase is indexed and searchable today. Next is everything written around it — docs, wikis, and the decisions that never made it into a file.

Planned

Remember

What survives the end of a session. The context an agent built up, what it already tried, and what it should not try again — kept, rather than thrown away with the window.

Planned

Do

Tools and a runtime, so an agent can act on what it knows and remembers instead of handing you a summary and waiting.

It starts on your machine and stays useful there. The cloud is an extension for when you want one — a shared index, a team's memory — and never a requirement for any of the above.

Built in the open

The installer, the indexer, and the issue tracker are public.

Read the plugin documentation before you install, or open an issue if something on your machine disagrees with this page.

Read the docs Open an issue