Product · not for sale yet
Repository Intelligence
A read-only map of a codebase, built for AI agents and the people who work with them: what every file imports, what can be reached from a project’s real entry points, and the proof for each answer.
In development
What it is
Ask an AI agent to tidy a project and it has to guess what is used and what is not. Repository Intelligence gives it facts to work from instead, each one with the file and line it came from.
Read-only
It reads your repository and never writes to it. Its own database must live outside the project being scanned, and it refuses otherwise.
Evidence, not opinion
Every answer carries its evidence: the file, the line, and how an import was resolved. If it cannot tell, it says so, and says why.
Safe by design
The tools that read your code run in a sandbox with no network. Your scripts are read as data and are never run.
How it works
Four steps, each one stored so it can be checked later.
- Scan. It walks the repository without changing it, records every file with a content hash, respects ignore rules, and recognises a file that has only been renamed or moved.
- Analyse. It reads every import, re-export,
requireand dynamic import in JavaScript and TypeScript, using the real TypeScript compiler and the project’s owntsconfig, so paths resolve the way the project itself says they should. Python support is being built. - Reach. It finds the entry points a project declares (
package.jsonmain,exportsandbin, the files its scripts use, and its tests), follows the imports, and gives each reached file the shortest chain of imports back to an entry point. We call that chain a witness. - Re-check. A separate, sandboxed checker re-verifies any witness from the files on disk, so you do not have to trust the first run.
Why it works this way
- A claim you cannot check is a guess. That is why every answer comes with a witness.
- “Not reached” is not “unused”. A file nothing reaches is labelled
NOT_REACHED, never “orphaned”. The run also says whether it can trust that nothing was missed, and if not, why. A false “unused” makes an agent delete live code, so we would rather say less. - No claim without a test. We have set ourselves a rule: no “this file is unused” answers until they pass an accuracy test on real projects, compared against existing tools, with every disagreement explained.
Where it is today
Works now
- Scanning, hashing and rename tracking.
- Import analysis for JavaScript and TypeScript.
- Reachability with a checkable witness for each file.
- Use from the command line on a developer’s machine.
Not yet
- The MCP server interface.
- Answers about unused code, which wait for the accuracy test above.
- Full Python support.
- A release date or a price. We will not guess at either.
