mgrep-code-search
💡 摘要
mgrep 使自然语言语义搜索在复杂代码库中高效探索成为可能。
🎯 适合人群
🤖 AI 吐槽: “该工具可能存在由于配置错误而导致的任意命令执行风险。确保对输入查询进行适当验证,以减轻潜在的注入攻击。”
该工具可能存在由于配置错误而导致的任意命令执行风险。确保对输入查询进行适当验证,以减轻潜在的注入攻击。
name: mgrep-code-search description: Semantic code search using mgrep for efficient codebase exploration. This skill should be used when searching or exploring codebases with more than 30 non-gitignored files and/or nested directory structures. It provides natural language semantic search that complements traditional grep/ripgrep for finding features, understanding intent, and exploring unfamiliar code.
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:
bunx @mixedbread/mgrep watch
The watch command indexes the repository and maintains synchronisation with file changes. It respects .gitignore and .mgrepignore patterns.
Searching
bunx @mixedbread/mgrep "your natural language query" [path]
Search Commands
Basic Search
bunx @mixedbread/mgrep "where is authentication configured?" bunx @mixedbread/mgrep "how do we handle errors in API calls?" src/ bunx @mixedbread/mgrep "database connection setup" src/lib
Search Options
| Option | Description |
|--------|-------------|
| -m <count> | Maximum results (default: 10) |
| -c, --content | Display full result content |
| -a, --answer | Generate AI-powered synthesis of results |
| -s, --sync | Update index before searching |
| --no-rerank | Disable relevance optimisation |
Examples with Options
# Get more results bunx @mixedbread/mgrep -m 25 "user authentication flow" # Show full content of matches bunx @mixedbread/mgrep -c "error handling patterns" # Get an AI-synthesised answer bunx @mixedbread/mgrep -a "how does the caching layer work?" # Sync index before searching bunx @mixedbread/mgrep -s "payment processing" src/services
Workflow
-
Start watcher (once per session or when files change significantly):
bunx @mixedbread/mgrep watch -
Search semantically:
bunx @mixedbread/mgrep "what you're looking for" [optional/path] -
Refine as needed using path constraints or options:
bunx @mixedbread/mgrep -m 20 -c "refined query" src/specific/directory
Environment Variables
Configure defaults via environment variables:
| Variable | Purpose |
|----------|---------|
| MGREP_MAX_COUNT | Default result limit |
| MGREP_CONTENT | Enable content display (1/true) |
| MGREP_ANSWER | Enable AI synthesis (1/true) |
| MGREP_SYNC | Pre-search sync (1/true) |
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
优点
- 支持自然语言查询
- 适用于大型代码库
- 与现有工具集成
- 遵循 .gitignore 模式
缺点
- 需要初始索引
- 可能无法替代传统 grep 进行精确搜索
- 执行依赖于 bunx
- 仅限于特定用例
相关技能
免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。
版权归原作者所有 intellectronica.
