Features

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.

See before and after →

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.

See before and after →

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.

See before and after →

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.

See before and after →

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.

See before and after →

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.

See before and after →

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.

See before and after →

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.

See before and after →

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.

See before and after →

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.

See before and after →

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.

See before and after →

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.

See before and after →