Skip to content

A rapid fast, command-line app to recall your files & shell history with absolute precision

License

Notifications You must be signed in to change notification settings

cybrota/recaller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Recaller

Go License Platform

Recaller logo (light)

Recaller searches your files and shell history locally with smart ranking, instant help lookup, and terminal integration. All processing happens on your machine - your command history never leaves your computer.

Install Recaller easily with this script!

curl -sf https://raw.githubusercontent.com/cybrota/recaller/refs/heads/main/install.sh | sh

Key Features of Recaller:

  • Smart Command Search: Commands ranked by frequency and recency with configurable search modes.
  • Instant Help: View man pages and command documentation without leaving the interface.
  • Terminal Integration: Copy to clipboard or execute in new terminal tabs.
  • Multi-Directory Indexing: Index multiple directories simultaneously for comprehensive file search.
  • Auto Re-indexing: Automatically discovers new files when launching the search UI.
  • Smart File Ranking: Files ranked by access frequency and recency.
  • Privacy First: All processing happens locally - your history stays on your machine.

Why use Recaller?

Tired of forgetting complex commands or searching for files across different directories? Recaller is here to help. It provides a fast, private, and efficient way to search your command history and files. With its smart ranking and instant help features, you can boost your productivity and streamline your workflow. And since all processing happens locally, your data remains private and secure.

Getting Started

Installing Recaller

Install Script (Recommended)

curl -sf https://raw.githubusercontent.com/cybrota/recaller/refs/heads/main/install.sh | sh

Or via HomeBrew (Ideal for macOS users)

brew tap cybrota/cybrota
brew install recaller

Or build from source (requires Go 1.18+)

git clone https://github.com/cybrota/recaller.git
cd recaller && go build -o recaller . && sudo mv recaller /usr/local/bin/

Configuring Your Project

Shell Configuration (Required for Bash users)

  • Bash: Follow setup guide to enable timestamped history
  • Zsh: Works out of the box, see setup guide for optimization

Configuration (Optional) Create ~/.recaller.yaml to customize search behavior:

history:
  # Default: true (fuzzy search - matches substring anywhere)
  enable_fuzzing: true
  # Set to false for prefix-based search only
  # enable_fuzzing: false

filesystem:
  # Enable filesystem search functionality
  enabled: true
  # Maximum number of files to index (default: 100000)
  max_indexed_files: 100000
  # Bloom filter settings for memory efficiency
  bloom_filter_size: 1000000
  bloom_filter_hashes: 5
  # Patterns to ignore during indexing
  ignore_patterns:
    - "*.tmp"
    - "*.log"
    - ".git"
    - "node_modules"
    - ".DS_Store"

# Reduce the verbosity of app. Default is false.
quiet: true

Usage

Command History Search

recaller                    # Launch interactive command history search
recaller run                # Same as above
recaller history            # View history with filtering

Filesystem Search

# Index directories for filesystem search
recaller fs index                    # Index current directory recursively
recaller fs index ~/Documents        # Index specific directory recursively
recaller fs index /usr/local ~/code  # Index multiple directories recursively

# Launch filesystem search UI
recaller fs                          # Launch search UI (auto re-indexes tracked paths)

# Manage filesystem index
recaller fs clean --stale            # Remove entries for deleted files
recaller fs clean --older-than 30    # Remove entries older than 30 days
recaller fs clean --clear            # Clear entire index
recaller fs clean --dry-run          # Preview what would be cleaned

Configuration

recaller settings list      # View current configuration settings
recaller version            # Check version

🤝 Contributing

Contributions welcome! Areas for improvement:

  • Shell support (Fish, PowerShell)
  • Terminal emulator support
  • Performance optimizations
  • Test coverage
git clone https://github.com/cybrota/recaller.git
cd recaller && go mod tidy && go run .

📝 License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

Copyright © 2025 Naren Yellavula

About

A rapid fast, command-line app to recall your files & shell history with absolute precision

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published