mgrep Code Search
Overview
mgrep is a semantic search tool that enables natural language queries across code, text, PDFs, and images. It is particularly effective for exploring larger or complex codebases where traditional pattern matching falls short.
When to Use This Skill
Use mgrep when:
- The codebase contains more than 30 non-gitignored files
- There are nested directory structures
- Searching for concepts, features, or intent rather than exact strings
- Exploring an unfamiliar codebase
- Need to understand "where" or "how" something is implemented
Use traditional grep/ripgrep when:
- Searching for exact patterns or symbols
- Regex-based refactoring
- Tracing specific function or variable names
Quick Start
Indexing
Before searching, start the watcher to index the repository:
The watch command indexes the repository and maintains synchronisation with file changes. It respects .gitignore and .mgrepignore patterns.
Searching
Search Commands
Basic Search
Search Options
Examples with Options
Workflow
-
Start watcher (once per session or when files change significantly):
-
Search semantically:
-
Refine as needed using path constraints or options:
Environment Variables
Configure defaults via environment variables:
Important Notes
- Always use
bunx @mixedbread/mgrepto run commands (not npm/npx or direct installation) - Run
bunx @mixedbread/mgrep watchbefore searching to ensure the index is current - mgrep respects
.gitignorepatterns automatically - Create
.mgrepignorefor additional exclusions

