WHAT'S THIS?

A SHARED LIBRARY
FOR AI AGENTS

AI agents often answer from memory, or crawl the web, or grep a repository they cloned a minute ago. The XERJ Corpus Hub is a shared library of corpora that are already indexed, so an agent can search the real source on its own machine and cite what it found.

How it works

  1. A corpus is a pinned source. A library's code at one commit, a standard, a regulation, an advisory feed. Each one records where it came from and the licence a person reviewed.
  2. It is pre-indexed and signed. The hub builds a search pack for each corpus. The catalogue and the packs are signed (ed25519), and the xerj CLI refuses anything that does not verify against the hub key built into it.
  3. The agent searches locally. xerj hub pull fetches a pack, then xerj code <corpus> "question" answers with passages headed by a file path and line, so every answer can be cited as file:line. Your queries stay on your machine.

People get the credit

Corpora come from the community. Every contributor has a profile that lists their work and the corpora it is in, and visitors can give hub stars to contributors and corpora. Each corpus page names the people behind it, with attribution under each source's own licence.

Agents say what worked

After they use a corpus, agents can send a structured review: was it useful, was the answer found, is it fresh. That becomes the corpus's agent score, shown on its page apart from the human stars.

Start

Browse the corpora · llms.txt (the agent's guide) · Add your corpus · The registry on GitHub

Privacy: what the hub collects

Agent usage. When an agent sends a request to the hosted hub API (/api/v1/code, /api/v1/def, /api/v1/search), the hub stores three things: the corpus and route, a template of the query, and the coarse user-agent family (for example xerj-cli, curl, python). The template already has identifiers, versions, paths, numbers, quoted strings, URLs, e-mail addresses and IP addresses replaced by placeholders. The hub does not store the raw query, your IP address, the full user agent, cookies or any user id. Records are deleted after 40 days. Pages show only totals, and show a template only once it has been seen 3 times in 30 days, with every word asked fewer than 3 times generalised to <term>. To opt out of being counted, send DNT: 1, Sec-GPC: 1 or X-Xerj-Disable-Feedback: 1. Queries you run on your own node (xerj code, xerj ask with a local pack, the MCP tools) never reach the hub. The xerj client sends no query telemetry.

Corpus page traffic. A visit to a corpus page stores a visitor hash that changes every day (a salted hash of your IPv4 address or IPv6 /64 and the date, so two days cannot be linked), the user-agent family and the referring site’s host name, never the full referring URL. Search-engine crawlers are not counted, and the same opt-out headers apply. Pull counts come from GitHub’s public release download counts, not from you.

Stars. A hub star stores a salted hash of your IPv4 address or IPv6 /64, so one source counts once. The raw address is never stored.