Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Smart(er) code reading for humans and AI agents. Reduces cost per correct answer by ~40% on average. Install: cargo install tilth -or- npx tilth
| Date | Stars |
|---|---|
| 2026-07-31 | 322 |
| 2026-08-06 | 322 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
15.0
growth rate 0.00%/day
# tilth
[](https://scorecard.dev/viewer/?uri=github.com/jahala/tilth)
**Smart code reading for humans and AI agents.** Reduces cost per correct answer by **44%** on Sonnet, **39%** on Opus, and **38%** on Haiku across 160 benchmark runs. ([benchmarks](#benchmarks))
tilth is what happens when you give `ripgrep`, `tree-sitter`, and `cat` a shared brain.
```bash
$ tilth src/auth.ts
# src/auth.ts (258 lines, ~3.4k tokens) [outline]
[1-12] imports: express(2), jsonwebtoken, @/config
[14-22] interface AuthConfig
[24-42] fn validateToken(token: string): Claims | null
[44-89] export fn handleAuth(req, res, next)
[91-258] export class AuthManager
[99-130] fn authenticate(credentials)
[132-180] fn authorize(user, resource)
```
Small files come back whole. Large files get an outline. Drill in with `--section`:
```bash
tilth src/auth.ts --section 44-89
tilth docs/guide.md --section "## Installation"
```
## Search finds definitions first
```
$ tilth handleAuth --scope src/
# Search: "handleAuth" in src/ — 6 matches (2 definitions, 4 usages)
## src/auth.ts:44-89 [definition]
[24-42] fn validateToken(token: string)
→ [44-89] export fn handleAuth(req, res, next)
[91-120] fn refreshSession(req, res)
44 │ export function handleAuth(req, res, next) {
45 │ const token = req.headers.authorization?.split(' ')[1];
...
88 │ next();
89 │ }
── calls ──
validateToken src/auth.ts:24-42 fn validateToken(token: string): Claims | null
refreshSession src/auth.ts:91-120 fn refreshSession(req, res)
## src/routes/api.ts:34 [usage]
→ [34] router.use('/api/protected/*', handleAuth);
```
Tree-sitter finds where symbols are **defined** — not just where strings appear. Each match shows its surrounding file structure so you know what you're looking at without a second read.
Expanded definitions include a **callee footer** (`── calls ──`) showing resolved callees with file, line range, and signature — the agent can follow call chains without separate searches for each callee.
### Expanded search
CLI search returns compact results by default. Use `--expand` to inline source for the top matches:
```bash
tilth handleAuth --scope src/ --expand # top 2 (default when flag is bare)
tilth handleAuth --scope src/ --expand=5 # top 5
```
In MCP mode, `expand` defaults to 2 — no flag needed.
### Multi-symbol search
Trace across files in one call:
```bash
tilth "ServeHTTP, HandlersChain, Next" --scope .
```
Each symbol gets its own result block with definitions and expansions. The expand budget is shared — at least one expansion per symbol, deduped across files.
### Callers query
Find all call sites of a symbol using structural tree-sitter matching (not text search):
```bash
$ tilth isTrustedProxy --callers --scope .
# Callers of "isTrustedProxy" — 5 call sites
## context.go:1011 [caller: ClientIP]
→ trusted = c.engine.isTrustedProxy(remoteIP)
```
In MCP mode, use `kind: "callers"` on `tilth_search` instead.
### Blast-radius deps
See what a file imports and what depends on it — useful before renaming or changing exports:
```bash
$ tilth src/auth.ts --deps
# deps: src/auth.ts
## Imports (3)
jsonwebtoken (external)
@/config src/config.ts
express (external)
## Dependents (4)
src/routes/api.ts uses: handleAuth, AuthManager
src/middleware/cors.ts uses: validateToken
src/app.ts uses: AuthManager
test/auth.test.ts uses: handleAuth, AuthManager
```
In MCP mode, use the `tilth_deps` tool.
### Grok a symbol
Everything about one symbol in a single call — definition, signature, doc, callers, callees, siblings, tests:
```bash
$ tilth grok handleAuth
# grok: handleAuth [src/auth.ts:42]
## signature
function handleAuth(req: Request): AuthContext
## callers (3)
src/routes/api.ts:88 in registerRoutes()
src/app.ts:24 in bootstrap()
## callees (Excerpt of 12,901 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:c662ee94941dfd04, llm:Repository topics: ai-agents, cli, context-engineering; description: 'Smart(er) code reading for humans and AI agents. Reduces cost per correct answer by ~40% on average.' Installable CLI.
matched fp:c662ee94941dfd04, llm:Repository topics: ai-agents, cli, context-engineering; description: 'Smart(er) code reading for humans and AI agents. Reduces cost per correct answer by ~40% on average.' Installable CLI.
matched fp:c662ee94941dfd04, llm:Repository topics: ai-agents, cli, context-engineering; description: 'Smart(er) code reading for humans and AI agents. Reduces cost per correct answer by ~40% on average.' Installable CLI.