Semantic code search using natural language queries. Use when users ask "where is X implemented", "how does Y work", "find the logic for Z", or need to locate code by concept rather than exact text. Returns file paths with line numbers and code snippets.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/can1357/smgrep/blob/main/plugins/smgrep/skills/smgrep/SKILL.md -a claude-code --skill smgrepInstallation paths:
.claude/skills/smgrep/## When to Use Use this to find code by **concept** or **behavior** (e.g., "where is auth validated", "how are plugins loaded"). *Note: This tool prioritizes finding the right files and locations in the code. Snippets are truncated (max 16 lines) and are often just previews.* Example: ```bash smgrep "how are plugins loaded" smgrep "how are plugins loaded" packages/transformers.js/src ``` ## Strategy for Different Query Types ### For **Architectural/System-Level Questions** (auth, LSP integration, file watching) 1. **Search Broadly First:** Use a conceptual query to map the landscape. * `smgrep "authentication authorization checks"` 2. **Survey the Results:** Look for patterns across multiple files: * Are checks in middleware? Decorators? Multiple services? * Do file paths suggest different layers (gateway, handlers, utils)? 3. **Read Strategically:** Pick 2-4 files that represent different aspects: * Read the main entry point * Read representative middleware/util files * Follow imports if architecture is unclear 4. **Refine with Specific Searches:** If one aspect is unclear: * `smgrep "session validation logic"` * `smgrep "API authentication middleware"` ### For **Targeted Implementation Details** (specific function, algorithm) 1. **Search Specifically:** Ask about the precise logic. * `smgrep "logic for merging user and default configuration"` 2. **Evaluate the Semantic Match:** * Does the snippet look relevant? * **Crucial:** If it ends in `...` or cuts off mid-logic, **read the file**. 3. **One Search, One Read:** Use smgrep to pinpoint the best file, then read it fully. ## Output Format Returns: `path/to/file:line [Tags] Code Snippet` - `[Definition]`: Semantic search detected a class/function here. High relevance. - `...`: **Truncation Marker**. Snippet is incomplete—use `read_file` for full context. ## Tips - **Trust the Semantics:** You don't need exact names. `smgrep "how does the server start"` works better than gue