xerj-org / xerj
XERJ is the new way for AI to search data. Its autoindex capability activates agents to know your data without the token waste of grep and sed. One command indexes code, docs, logs and PDFs for search, RAG, security audits and agent memory, using 40x fewer tokens than grep. Elasticsearch compatible, so existing clients just work.
github.com/xerj-org/xerjIndexed at 928e004Up to date with upstream
What is xerj?
xerj is a local AI search tool for indexing folders and retrieving relevant passages from code, documents, logs, and PDFs. It builds searchable indexes so coding agents can find exact source passages instead of reading files one by one. xerj is primarily written in Rust and exposes an Elasticsearch-compatible API.
Written by a model from the README and the source
2,399 files and 29,195 symbols in 13 modules, led by Rust (548 files) and Python (186).
Code health
This codebase scores 5.5 out of 10 for code health, which we rate fair. It also scores maintainability 5.4 and static performance 9.3 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 173 of 2,399 files are git hotspots, and they average 3.6 — which is where the fixes pay off most.
On the leaderboards:#9 of 13 Rust repos
Use xerj-org/xerj in your agent
Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.
- 1.In Claude, open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it first under Organization settings → Connectors.
- 2.Paste the server URL below as the Remote MCP server URL, then click Add.
- 3.Click Connect. A Repowise sign-in window opens. Approve access.
- 4.Repowise's tools are now available in your Claude chats.
Connect with one click. Sign in with Repowise (OAuth), no API key to copy. Works in Claude on the web, desktop, and mobile.
Docshttps://api.repowise.dev/mcp/xerj-org/xerj
This repo is public, so anyone with a Repowise account and an API key can connect.
Try asking
- get_overview()
- get_answer("how is xerj put together?")
- get_why("why is xerj structured this way?")
Explore xerj
- DocumentationModule-by-module documentation, 1,713 pages.
- ArchitectureDependency graph, layers and third-party dependencies.
- Code healthEvery file's score and the findings behind it.
- CommitsEach commit's effect on code health.
- OverviewEverything else the index found: contributors, decisions, what changed this week.
Key features of xerj
- xerj automatically indexes folders for codebase questions and retrieval-augmented generation.
- xerj retrieves passages with file and line references for reference coding and code search.
- xerj supports security audits across file types by querying for sink patterns, secrets, and dangerous calls.
- xerj indexes mixed log formats and provides Elasticsearch-style aggregations for incident analysis.
- xerj provides an /_memory/{namespace} API for storing and recalling agent memory by meaning.
- xerj supports Elasticsearch-compatible clients, dashboards, and tooling.
How xerj-org/xerj works
Input enters through the xerj command-line interface, including commands such as xerj autoindex and xerj search. The engine module in engine processes indexed data and search requests. engine/crates/xerj-autoindex/src/lib.rs handles automatic indexing, while engine/crates/xerj-engine/src/index.rs implements core index operations. engine/crates/xerj-api/src/es_compat.rs provides Elasticsearch API compatibility for existing clients and tools. Search returns ranked passages with file and line references, and the system also supports definition lookup through xerj def. The repository includes Rust engine crates, documentation in docs, and runnable examples under demo.
The codebase has 2,399 files and 29,195 symbols in 13 modules, led by Rust, Python and JavaScript. Code health is 5.5 out of 10, rated fair.
Getting started with xerj
- Start xerj with a local data directory.
xerj --insecure --data-dir ./data & - Initialize integrations for Claude Code and Cursor.
xerj init # wire XERJ into Claude Code/Cursor (MCP + skill), one command - Index a project folder.
xerj autoindex ~/my-project
Commands copied from the README
xerj-org/xerj FAQ
What is xerj?
xerj is a local AI search tool that indexes folders and retrieves relevant passages from code, documents, logs, and PDFs. It is designed for reference coding, codebase questions, RAG, security audits, incident analysis, and agent memory.
How does xerj work?
xerj automatically indexes data, then returns relevant passages through search and Elasticsearch-compatible APIs. Its engine performs indexing and retrieval, while the API layer supports existing Elasticsearch clients and tools.
How do I install xerj?
xerj installs with a shell command that downloads and runs its installer. After installation, start the server with xerj --insecure --data-dir ./data & and index a folder with xerj autoindex ~/my-project.
What language is xerj written in?
xerj is primarily written in Rust. The repository also includes Python, JavaScript, shell, Java, and PHP files.
How is the xerj code organized?
xerj organizes its main implementation under engine, with automatic indexing in engine/crates/xerj-autoindex and API compatibility in engine/crates/xerj-api. Documentation is under docs, and runnable examples are under demo.
Who is xerj for?
xerj is for humans and AI agents that need to search codebases, documents, logs, or PDFs. Its main use case is helping coding agents retrieve how related projects solved a problem before writing code.
What license does xerj use?
xerj uses the Apache-2.0 license.
The summary, features and answers on this page are written by a model from the README and the source, and refreshed with each index.
About this page
Get a page like this for your own codebase
Repowise built this map of xerj-org/xerj from its source and git history. It parses every symbol, draws the dependency graph, scores each file's health from complexity, duplication, coverage and churn, finds hotspots and owners in the history, and writes documentation for every module. Your coding agent reads the same index over MCP, so its answers cite real files.
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Maintain xerj-org/xerj?
Claim this page, add a badge to the README, or re-index it.
Claim this page
Sign in with GitHub and we check that you are an admin or maintainer of xerj-org/xerj. Then add a badge to the README that links readers here.
Add a badge to your README
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Repowise badge
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/xerj-org/xerj?src=badge_wiki)Code health badge
The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/xerj-org/xerj?src=badge_health)Code health card
A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/xerj-org/xerj?src=badge_card)