Table of Contents
About
- Smart defaults:
- hidden files included (
.gitignore,.env, etc files "not respected") - case-insensitive
- hidden files included (
- Fast:
- powered by
ripgrepandfd
- powered by
- Extension filter:
:json,:ts,tsxsyntax for quick file type filtering
- Tree view: — visualize results as dir tree
- Customizable:
—
~/.eyeignorefor personal ignore patterns
Install
npm i -g @vd7/eyecli
Requirements
# macOS
brew install ripgrep fd
# Ubuntu/Debian
apt install ripgrep fd-find
# Windows
choco install ripgrep fd
Usage
# Search file contents
eye "pattern" [path]
# Search filenames
eye -f "pattern" [path]
# Find by extension
eye :json .
eye :ts,tsx ~/code
# Options
eye -c "pattern" . # Count matches
eye -t :json . # Tree view
eye -E node_modules "TODO" . # Exclude paths
Examples
# Find all TODOs in current directory
eye "TODO" .
# Find config files
eye -f "config" ~/projects
# Find all JSON files
eye :json ~/projects
# Count TypeScript files
eye :ts,tsx src -c
# Search excluding node_modules
eye -E node_modules "import" .
# Create ignore file
eye init
$HOME/.eyeignore file
eyecli supports a $HOME/.eyeignore file to customize what gets searched
# Create starter ignore file
eye init
- creates
$HOME/.eyeignorewith sensible defaults (node_modules,.git, build dirs, etc.) - edit it to customize.
Starter template includes:
- Version control (.git, .svn)
- Dependencies (node_modules, vendor)
- Build output (dist, build, out)
- Lock files (package-lock.json, yarn.lock)
- IDE files (.idea, .vscode)
- Caches (pycache, .cache)
- And more...
Secrets are NOT ignored by default — uncomment .env patterns in $HOME/.eyeignore if you want to exclude them.
Roadmap
- Content search with ripgrep
- Filename search with fd
- Extension filtering (
:json,:ts,tsx) - Tree view output
- Custom ignore file (
~/.eyeignore) - Fuzzy matching (
fzf) - Semantic search
- metadata search (exif data, date sorting, provenance, embedded contents, etc)
- Interactive mode
- Config file for defaults