jarvis CLAUDE.md

jarvis CLAUDE.md is an instructions file for Claude Code from jarvis-intelligence/jarvis. It costs 4,063 tokens per session, scanned A, original, MIT.

Repository-specific instructions for Claude Code, covering Jarvis’s architecture, commands, and testing conventions. Jarvis is a local code-intelligence server that helps find definitions, references, symbols, and text in source code.

In plain words
What is it for?
Installing dependencies, running unit or integration tests, indexing repositories, checking their status, and using Jarvis’s command-line tools.
Why use it?
They give the coding agent the project’s expected commands and structure so it can work and test changes consistently.

Instructions file for Claude Code

Written for Claude Code: Claude Code plugin machinery. Also seen: reads .claude/ paths; mentions CLAUDE.md; mentions Claude Code.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/jarvis-intelligence/jarvis/claude-md
Clone the repo
git clone --depth 1 https://github.com/jarvis-intelligence/jarvis

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for jarvis CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/jarvis-intelligence/jarvis/claude-md.svg)](https://agentmods.dev/instructions/jarvis-intelligence/jarvis/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/jarvis-intelligence/jarvis/claude-md"><img src="https://agentmods.dev/badge/instructions/jarvis-intelligence/jarvis/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 4,063 This file is loaded in full into every session.
When invoked 4,063 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.04063 $0.04063
Opus 5 $0.02031 $0.02031
Sonnet 5 $0.00813 $0.00813
Haiku 4.5 $0.00406 $0.00406

Measured 5d ago against content hash 35ba74a6ef35, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

jarvis CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 224 lines

How it starts

The opening of the file, as written. The whole thing — 224 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project

Personal, local-first code intelligence MCP server. SCIP-backed navigation (go-to-definition, find-references, call/type hierarchy, document symbols) + Zoekt-backed lexical search, exposed as MCP tools over stdio — no HTTP server, no auth, no network.

Commands

uv sync                              # install deps
uv sync --extra watch                # + watchdog, needed for `jarvis watch`
uv sync --extra semantic             # + lancedb/sentence-transformers/tree-sitter, needed for semanticSearch

uv run pytest                        # all tests
uv run pytest -m "not integration"   # unit only — no external binaries required
uv run pytest -m integration         # integration only — runs real scip-python/scip/zoekt-git-index
uv run pytest tests/test_query.py::test_go_to_definition_returns_location   # single test

uv run jarvis index /path/to/repo [--slug name] [--scheme name] [--language name] [--semantic-include path]
uv run jarvis list
uv run jarvis status <slug>
uv run jarvis reindex <slug>
uv run jarvis forget <slug>
uv run jarvis watch /path/to/repo [--debounce 5] [--scheme name] [--language name] [--semantic-include path]   # foreground, not a daemon

uv run jarvis-server              # MCP stdio entry point
claude mcp add jarvis --scope user -- uv --directory /path/to/jarvis run jarvis-server

Required on PATH for anything beyond unit tests: one language indexer per repo (scip-typescript / scip-python / scip-java / scip-swift), scip (for scip expt-convert), and zoekt-git-index / zoekt-webserver. Integration tests are gated on these and skip cleanly if absent.

Architecture

Three engines sit behind the MCP server, each backed by its own storage:

  • Query (query.py + index_reader.py + scip_decoder.py) — SCIP nav ops via raw SQL against the scip expt-convert SQLite schema (documents/chunks/global_symbols/mentions). scip_decoder.py is the only module importing scip_pb2/zstandard — an isolation seam so future SCIP proto version bumps localize to one file. symbols.py is the same kind of isolation seam for the SCIP symbol string grammar: it owns parsing (parse_symbol()) and bare-name resolution (resolve(), a two-rung ladder of exact match then dotted-suffix match) end to end, so goToDefinition/findReferences/callHierarchy/typeHierarchy accept a bare or qualified name instead of requiring the full, version-pinned SCIP string. Caveat: scip-swift emits clang USR strings (e.g. c:@CM@UIKit@@objc(cs)UIView(im)centerXAnchor) as its symbol names, so bare-name resolution has no practical value in Swift repos — it works for Python/TypeScript/Java/Kotlin.
  • Search (search.py) — searchCode via a real httpx client to zoekt-webserver. ZoektLifecycle lazily spawns the webserver on first call (pidfile-tracked, killed at exit); never spawn it elsewhere. base_url_if_running() is the non-spawning variant, used by getIndexStatus's coverage check so a status call never starts a server as a side effect.
  • Graph (graph.py + registry.py) — package dependency graph (packages/edges in registry.db) driving blastRadius (2-hop BFS). populate_graph_for_repo() clears a repo's outgoing edges before recomputing — rebuild-not-accumulate, so retracted dependencies don't linger.
  • Semantic (chunker.py + embeddings.py + semantic.py + symbol_search.py) — tree-sitter chunking → sentence-transformers embeddings → a per-repo LanceDB table under ~/.jarvis/lancedb/. semanticSearch fuses vector hits with Zoekt hits and SCIP symbol-definition matches (via symbol_search.py, reusing symbols.py's name-map machinery) via reciprocal rank fusion. Gated behind the optional semantic extra; the indexing stage is non-fatal in jarvis index (a failure there never blocks the SCIP/Zoekt publish). A LanceDB table only ever holds vectors from one model+revision — the model-identity rule.

Read the full file on GitHub · 224 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 224 lines · 4,063 tokens per session scan A 35ba74a6ef35

Subscribe to this mod's changes

jarvis CLAUDE.md is an instructions file published in the GitHub repository jarvis-intelligence/jarvis (0 stars, last pushed 14d ago), licensed MIT. It adds 4,063 tokens to every session, about $0.0203 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.