What greppy does for your agent
Your agent sees how the code fits together
Who calls this function, what depends on a change, which calls carry a request from the route to the database? greppy answers each of these questions in one call, with file and line.
Find code you can only describe
“Check a user’s password” leads straight to checkPassword. greppy searches for what code does and writes one sentence under every hit saying what it is for. Your agent picks the right hit before it reads a single line.
Understand a function before reading it
brief sums up a function in one sentence, sketches its flow step by step and names its callers. read-smart shows the shape of a long function and folds deep blocks into one line each. The agent then reads exactly the part it needs.
Read exactly one symbol, change exactly one symbol
greppy read returns a function, a method or a type; for a file it returns its outline. Changes are just as precise: replace a symbol, rename it everywhere, change several files in one patch. undo reverts any change in one step.
One test run, one verdict
bash-smart runs a build, test or linter unchanged. The first line is the verdict, followed by exactly the errors and warnings. The agent fetches the full log with one command when it needs it.
The browser is built in
Your agent searches the web, reads documentation, fills in forms and checks a deployment, all from the shell. Pages enter the context as a compact structure, data as targeted extracts.
Every agent in its own copy, instantly
greppy gives every agent a private workspace with your current state, uncommitted changes included. Many agents work on the same repository in parallel, each in its own copy. Each one delivers a commit that you review and keep.
Indexed once, ready in every worktree
The first checkout builds the graph and embeddings. Every further Git worktree and every agent reuses them and indexes only its own changes.
Hand off tasks, get commits back
greppy -p starts a coding agent with greppy as its only tool, each in its own workspace. Your main agent hands out tasks, and every subagent reports back with a result and a commit. greppy agent opens the same agent as a terminal UI.
One binary, everything inside
Parser, database, embedding model and language model live in one file, and the browser ships in the same package. One command installs greppy; index, graph and embeddings are built on your machine and stay there.
Everything your agent knows keeps working
Every grep call runs through the real grep, with identical output and the same exit codes; ripgrep calls go to rg. Your agent keeps its familiar commands and gains greppy’s tools.
Over 60 languages, one set of commands
The same commands for every language in the repository. Rust, Python, Java, JavaScript, TypeScript, Go, C++, C#, Kotlin, Swift and Ruby have a fully tested graph.