Semantic code search for Claude Code. Automatically indexes your project and provides intelligent search capabilities.
Installation
npx claude-plugins install @Ryandonofrio3/osgrep/osgrep
Contents
Folders: hooks, skills
Files: hooks.json
Included Skills
This plugin includes 1 skill definition:
osgrep
Semantic code search. Use alongside grep - grep for exact strings, osgrep for concepts.
View skill definition
What osgrep does
Finds code by meaning. When you’d ask a colleague “where do we handle auth?”, use osgrep.
- grep/ripgrep: exact string match, fast
- osgrep: concept match, finds code you couldn’t grep for
Primary command
osgrep "where do we validate user permissions"
Returns ~10 results with code snippets (15+ lines each). Usually enough to understand what’s happening.
Output explained
ORCHESTRATION src/auth/handler.ts:45
Defines: handleAuth | Calls: validate, checkRole, respond | Score: .94
export async function handleAuth(req: Request) {
const token = req.headers.get("Authorization");
const claims = await validateToken(token);
if (!claims) return unauthorized();
const allowed = await checkRole(claims.role, req.path);
...
- ORCHESTRATION = contains logic, coordinates other code
- DEFINITION = types, interfaces, classes
- Score = relevance (1 = best match)
- Calls = what this code calls (helps you trace flow)
When to Read more
The snippet often has enough context. But if you need more:
# osgrep found src/auth/handler.ts:45-90 as ORCH
Read src/auth/handler.ts:45-120
Read the specific line range, not the whole file.
Other commands
# Trace call graph (who calls X, what X calls)
osgrep trace handleAuth
# Skeleton of a huge file (to find which ranges to read)
osgrep skeleton src/giant-2000-line-file.ts
# Just file paths when you only need locations
osgrep "authentication" --compact