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.
npx agentmods add instructions/jeffbai996/vecgrep/claude-mdgit clone --depth 1 https://github.com/jeffbai996/vecgrepWrote 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.
[](https://agentmods.dev/instructions/jeffbai996/vecgrep/claude-md)<a href="https://agentmods.dev/instructions/jeffbai996/vecgrep/claude-md"><img src="https://agentmods.dev/badge/instructions/jeffbai996/vecgrep/claude-md.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.01439 | $0.01439 |
| Opus 5 | $0.00720 | $0.00720 |
| Sonnet 5 | $0.00288 | $0.00288 |
| Haiku 4.5 | $0.00144 | $0.00144 |
Grade A, and why
vecgrep 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 3d 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.
How it starts
The opening of the file, as written. The whole thing — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
vecgrep — Claude Code working notes
What this is
A local-first semantic search tool. CLI-first, web UI on the side. OSS — no PII, no leaked context, no portfolio data, no internal hostnames in source. Generic-only.
Architecture cheat sheet
vecgrep/backend/
├── main.py FastAPI app, mounts /api and serves frontend/dist
├── config.py settings + ~/.vecgrep paths
├── ingestion/
│ ├── adapters/ text, markdown, pdf, url -> str
│ └── chunkers/ SentenceWindowChunker (default), FixedTokenChunker
├── embed/ OllamaBackend (default), OpenAIBackend (fallback)
├── store/ QdrantStore wrapper (embedded mode)
└── api/ routes: search, corpus, config
vecgrep/cli/ Click commands that hit the local API
vecgrep/frontend/ React + Tailwind, single page, built into dist/
Design rules
- Flat over nested. No abstract base classes for things with one impl.
- Adapter and chunker interfaces are the only spots designed for extension — everything else is concrete.
- Config in one place (
backend/config.py), env vars override JSON. ~/.vecgrep/is the only persistence location.--ephemeralskips it.- Qdrant runs in embedded mode (
path=...) by default — no server, no Docker. Server mode (qdrant_url) is opt-in for concurrent readers/writers (serve+watchat once). Embedded locks the dir to ONE process; two clients on different backends = silent split-brain (CLI writes embedded while the daemon reads server, or vice-versa). A multi-process deployment MUST pinqdrant_urlin~/.vecgrep/config.json, not just the systemd unit env — env only reaches the units, so a bare CLI invocation falls back to embedded and diverges.vecgrep doctorreconciles registry↔store but only against whichever backend IT resolves, so same rule applies. - Errors that the user can fix (Ollama not running, model not pulled) get plain English messages with the exact command to fix.
- MCP exposes no DIRECT mutation. The stdio MCP server is read-only (
search,list_corpora,get_corpus). The HTTP transport adds thepropose_*family (propose_write,propose_edit,propose_delete) — but these write/remove nothing: each creates an inert pending proposal that a human turns into a real write/delete viavecgrep confirm(off-protocol). So even over a leaked/unauthed/mcpendpoint an agent can only suggest a change, never land one — and apropose_deleteremoves a doc + its embeddings only after that human confirm. Direct/immediateindexanddeletestay on the REST routes, which operators keep behind tailnet / VPN / localhost. The propose corpus set is default-deny (VECGREP_PROPOSE_ALLOWED_CORPORA), so a proposal can't even target a corpus the operator hasn't opened.propose_edithas two modes: full overwrite (content=the whole new body) or surgical patch (old_str=+new_str=— a str-replace of one unique span, so you don't re-send an 8KB doc to fix one line). The patch is a hard error ifold_stris missing or appears more than once (add surrounding context to disambiguate); it touches the body only, frontmatter is preserved, and it flows through the identical proposal/confirm/corpus-gate path. Example — fix a date without a regen:propose_edit(doc_id="notes-007", old_str="July 25", new_str="July 17").
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.
- 3d ago First seen · 73 lines · 1,439 tokens per session scan A 90a3c079f8f5
vecgrep CLAUDE.md is an instructions file published in the GitHub repository jeffbai996/vecgrep (2 stars, last pushed 4d ago), licensed MIT. It adds 1,439 tokens to every session, about $0.0072 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.
Other instructions, from other repositories
gno AGENTS.md
AGENTS.md instructions for gmickel/gno, covering knowledge cutoff warning, apis - bun first!, must use bun, acceptable node:\ (no bun equivalent) and testing.
palaia AGENTS.md
AGENTS.md instructions for byte5ai/palaia, covering agent instructions, git workflow, pull requests, project and pre-push hook.
loomem CLAUDE.md
Instructions for vvooki-sys/loomem, covering claude.md — rules for ai code generators in the loomem repo, router — read the subset that applies, five hard rules (never break these), build & run and repo map (where things live).
memex CLAUDE.md
Claude Code instructions for evan-moon/memex, covering memex, memex, architecture, working on the ui and who this is for.
palaia CLAUDE.md
Claude Code instructions for byte5ai/palaia: All agent rules for this repository live in AGENTS.md — git workflow, the strict v2/v3 track separation, v3 project conventions, and PR requirements.
MCP-memento copilot-instructions.md
Instructions for caiowilson/MCP-memento, covering mcp tooling policy (vs code), project architecture (big picture), critical workflows, project-specific conventions and tool notes.