rfgrep 0.5.0

Advanced recursive file grep utility with comprehensive file type classification - search, list, and analyze 153+ file formats with intelligent filtering and safety policies
Documentation
.TH RFGREP 1 "February 2026" "rfgrep v0.5.0" "User Commands"

.SH NAME
rfgrep \- A powerful command-line utility for recursively searching and listing files with advanced filtering capabilities

.SH SYNOPSIS
.B rfgrep
[\fIOPTIONS\fR] [\fI--path\fR \fIPATH\fR] \fICOMMAND\fR [\fICOMMAND_OPTIONS\fR]

.SH DESCRIPTION
.B rfgrep
is a high-performance file search and listing utility written in Rust. It provides advanced search capabilities including regex patterns, plain text matching, and whole-word searches. The tool features parallel processing, memory mapping for large files, and comprehensive filtering options.

.SH FEATURES
.TP
.B Advanced Search
Regex, plain text, and whole-word matching with context lines
.TP
.B Streaming Search
High-performance streaming search pipeline with configurable chunk sizes
.TP
.B Plugin System
Extensible plugin architecture with dynamic loading and configuration
.TP
.B Modern TUI
Interactive Terminal User Interface with real-time search and navigation
.TP
.B File Listing
Detailed/simple output formats with extension statistics
.TP
.B Performance
Parallel processing with memory mapping for large files
.TP
.B Filtering
Extension, size, and binary file filtering
.TP
.B Utilities
Clipboard copy, dry-run mode, and progress indicators

.SH GLOBAL OPTIONS
.TP
.BR \-v ", " \-\-verbose
Enable verbose logging output
.TP
.BR \-\-log " " \fIFILE\fR
Write logs to specified file
.TP
.BR \-\-dry\-run
Preview files without processing (useful for testing)
.TP
.BR \-\-max\-size " " \fISIZE\fR
Skip files larger than specified MB
.TP
.BR \-\-skip\-binary
Skip binary files (improves performance)
.TP
.BR \-h ", " \-\-help
Print help information
.TP
.BR \-V ", " \-\-version
Print version information

.SH COMMANDS
.TP
.B search
Search for patterns in files with advanced filtering and streaming support
.TP
.B interactive
Interactive search mode with real-time filtering
.TP
.B list
List files with detailed information and statistics
.TP
.B plugins
Manage search plugins and extensions
.TP
.B tui
Interactive Terminal User Interface with modern TUI
.TP
.B completions
Generate shell completion scripts
.TP
.B help
Print help for a specific command

.SH EXAMPLES
.TP
Search for "HashMap" in Rust files:
.B rfgrep search "HashMap" \-\-extensions rs
.TP
List all Markdown files under 1MB:
.B rfgrep list \-\-extensions md \-\-max\-size 1
.TP
Search with regex and copy to clipboard:
.B rfgrep search "fn\\\\s+\\\\w+\\\\s*\\\\(" regex \-\-copy
.TP
Recursive search with word boundaries:
.B rfgrep search "test" word \-\-recursive \-\-extensions rs
.TP
Start interactive TUI mode:
.B rfgrep tui "pattern" \-\-algorithm boyer-moore
.TP
List and manage plugins:
.B rfgrep plugins list
.TP
Use streaming search with custom chunk size:
.B rfgrep search "error" \-\-algorithm simd \-\-context-lines 3

.SH PERFORMANCE TIPS
.TP
.B Use \-\-skip\-binary
to avoid unnecessary file checks
.TP
.B Limit scope
with \-\-extensions and \-\-max\-size
.TP
.B Use \-\-dry\-run first
to preview files
.TP
.B Enable \-\-recursive
for deep directory traversal

.SH ENVIRONMENT
.TP
.B RFGREP_CONFIG
Path to configuration file (optional)
.TP
.B RFGREP_LOG_LEVEL
Set logging level (debug, info, warn, error)

.SH FILES
.TP
.B ~/.config/rfgrep/config.toml
User configuration file
.TP
.B ~/.cache/rfgrep/
Cache directory for compiled regex patterns

.SH EXIT STATUS
.TP
.B 0
Success
.TP
.B 1
General error
.TP
.B 2
Invalid arguments
.TP
.B 3
File processing error

.SH BUGS
Report bugs to: https://github.com/rfgrep/rfgrep/issues

.SH AUTHOR
Written by the rfgrep development team.

.SH COPYRIGHT
Copyright © 2025 rfgrep contributors. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.

.SH SEE ALSO
.BR rfgrep-search (1),
.BR rfgrep-tui (1),
.BR rfgrep-plugins (1),
.BR rfgrep-list (1),
.BR rfgrep-interactive (1),
.BR grep (1),
.BR ripgrep (1),
.BR find (1)

.SH NOTES
This man page documents rfgrep version 0.5.0. The preferred way to specify a target directory or file is the
--path option (for example: \fBrfgrep --path src search "pattern"\fR). The positional PATH argument is still accepted
for backward compatibility and will behave the same as \fB--path\fR. For the most up-to-date information, visit
https://github.com/rfgrep/rfgrep