mirror of
http://10.0.2.1:3031/sauer/claude-code.git
synced 2026-06-30 15:46:58 +10:00
19 lines
1.1 KiB
TypeScript
19 lines
1.1 KiB
TypeScript
|
|
import { AGENT_TOOL_NAME } from '../AgentTool/constants.js'
|
||
|
|
import { BASH_TOOL_NAME } from '../BashTool/toolName.js'
|
||
|
|
|
||
|
|
export const GREP_TOOL_NAME = 'Grep'
|
||
|
|
|
||
|
|
export function getDescription(): string {
|
||
|
|
return `A powerful search tool built on ripgrep
|
||
|
|
|
||
|
|
Usage:
|
||
|
|
- 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.
|
||
|
|
- Supports full regex syntax (e.g., "log.*Error", "function\\s+\\w+")
|
||
|
|
- Filter files with glob parameter (e.g., "*.js", "**/*.tsx") or type parameter (e.g., "js", "py", "rust")
|
||
|
|
- Output modes: "content" shows matching lines, "files_with_matches" shows only file paths (default), "count" shows match counts
|
||
|
|
- Use ${AGENT_TOOL_NAME} tool for open-ended searches requiring multiple rounds
|
||
|
|
- Pattern syntax: Uses ripgrep (not grep) - literal braces need escaping (use \`interface\\{\\}\` to find \`interface{}\` in Go code)
|
||
|
|
- Multiline matching: By default patterns match within single lines only. For cross-line patterns like \`struct \\{[\\s\\S]*?field\`, use \`multiline: true\`
|
||
|
|
`
|
||
|
|
}
|