source dump of claude code
at main 18 lines 1.2 kB view raw
1import { AGENT_TOOL_NAME } from '../AgentTool/constants.js' 2import { BASH_TOOL_NAME } from '../BashTool/toolName.js' 3 4export const GREP_TOOL_NAME = 'Grep' 5 6export function getDescription(): string { 7 return `A powerful search tool built on ripgrep 8 9 Usage: 10 - ALWAYS use ${GREP_TOOL_NAME} for search tasks. NEVER invoke \`grep\` or \`rg\` as a ${BASH_TOOL_NAME} command. The ${GREP_TOOL_NAME} tool has been optimized for correct permissions and access. 11 - Supports full regex syntax (e.g., "log.*Error", "function\\s+\\w+") 12 - Filter files with glob parameter (e.g., "*.js", "**/*.tsx") or type parameter (e.g., "js", "py", "rust") 13 - Output modes: "content" shows matching lines, "files_with_matches" shows only file paths (default), "count" shows match counts 14 - Use ${AGENT_TOOL_NAME} tool for open-ended searches requiring multiple rounds 15 - Pattern syntax: Uses ripgrep (not grep) - literal braces need escaping (use \`interface\\{\\}\` to find \`interface{}\` in Go code) 16 - Multiline matching: By default patterns match within single lines only. For cross-line patterns like \`struct \\{[\\s\\S]*?field\`, use \`multiline: true\` 17` 18}