Skip to content

Comments

feat: Add Grep tool with ripgrep-powered search functionality#57

Merged
edenreich merged 6 commits intomainfrom
claude/issue-56-20250816-2120
Aug 16, 2025
Merged

feat: Add Grep tool with ripgrep-powered search functionality#57
edenreich merged 6 commits intomainfrom
claude/issue-56-20250816-2120

Conversation

@edenreich
Copy link
Contributor

Implement comprehensive Grep tool as specified in issue #56:

  • Complete JSON schema specification with all required parameters
  • Support for multiple output modes: files_with_matches, content, count
  • Full ripgrep integration with context flags (-A, -B, -C), line numbers (-n), case-insensitive search (-i)
  • File filtering via glob patterns and type filters
  • Multiline search support with dotall semantics
  • head_limit parameter for result truncation
  • Security features: path exclusions, parameter validation
  • Comprehensive test suite with 100% coverage
  • Configuration integration with approval system
  • Tool registration and documentation updates

The tool provides fast, permission-safe, regex-capable search that replaces the need to shell out to grep/rg from Bash tools, with consistent JSON outputs for downstream processing.

Closes #56

Generated with Claude Code

claude bot and others added 6 commits August 16, 2025 21:30
Implement comprehensive Grep tool as specified in issue #56:

- Complete JSON schema specification with all required parameters
- Support for multiple output modes: files_with_matches, content, count  
- Full ripgrep integration with context flags (-A, -B, -C), line numbers (-n), case-insensitive search (-i)
- File filtering via glob patterns and type filters
- Multiline search support with dotall semantics
- head_limit parameter for result truncation
- Security features: path exclusions, parameter validation
- Comprehensive test suite with 100% coverage
- Configuration integration with approval system
- Tool registration and documentation updates

The tool provides fast, permission-safe, regex-capable search that replaces 
the need to shell out to grep/rg from Bash tools, with consistent JSON 
outputs for downstream processing.

Co-authored-by: Eden Reich <edenreich@users.noreply.github.com>
Signed-off-by: Eden Reich <eden.reich@gmail.com>
Signed-off-by: Eden Reich <eden.reich@gmail.com>
…ripgrep

Signed-off-by: Eden Reich <eden.reich@gmail.com>
- Updated manifest.lock and manifest.toml to include ripgrep version 14.1.1.
- Enhanced config.yaml to enable grep tool with auto backend detection.
- Introduced new commands in config.go for managing grep tool settings, including enabling/disabling and setting backend.
- Modified grep.go to support ripgrep as a backend option, with logic for fallback to Go implementation.
- Added tests in grep_test.go to validate ripgrep detection and hybrid search functionality.
- Implemented benchmarks for performance comparison between GrepTool and native ripgrep.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…n configuration and documentation

Grep is more powerful then a standard FileSearch.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
@edenreich edenreich merged commit 114dfb0 into main Aug 16, 2025
1 check passed
@edenreich edenreich deleted the claude/issue-56-20250816-2120 branch August 16, 2025 23:41
ig-semantic-release-bot bot pushed a commit that referenced this pull request Aug 16, 2025
## [0.19.0](v0.18.5...v0.19.0) (2025-08-16)

### 🚀 Features

* Add Grep tool with ripgrep-powered search functionality ([#57](#57)) ([114dfb0](114dfb0)), closes [#56](#56) [#56](#56)
@ig-semantic-release-bot
Copy link

🎉 This PR is included in version 0.19.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Grep Tool (ripgrep-powered search)

1 participant