Unified search for Fire Suite apps with fuzzy matching and multiple interfaces.
- 🔍 Unified Search: Search across all Fire Suite apps from one interface
- 🎯 Fuzzy Matching: Intelligent search with typo tolerance
- 💻 CLI Interface: Fast command-line search with colorized output
- 🖥️ TUI Interface: Interactive terminal UI with real-time search
- 🔌 Extensible: Easy to add new app integrations
- ⚡ Fast: Rust-powered performance
- 🔒 Private: All data stays local
# Install from source
cargo install --path .
# Or build and install manually
cargo build --release
cp target/release/firesearch ~/.local/bin/# Search across all apps
firesearch search "query"
# Search specific app
firesearch search "query" --source firetasks
# Limit results
firesearch search "query" --limit 10
# Verbose output
firesearch search "query" --verbose# Start interactive search
firesearch tui
# Key bindings:
# - Type to search
# - Enter: Execute search
# - j/k or ↑/↓: Navigate results
# - Esc: Back to search
# - q: Quit# List available search sources
firesearch sources
# Initialize search engine
firesearch init- ✅ firetasks - Search tasks
- ✅ firenotes - Search notes
- 🚧 firecalendar - Coming soon
- 🚧 firekeep - Coming soon
- 🚧 firemusic - Coming soon
FireSearch uses a trait-based architecture that makes it easy to add new integrations:
#[async_trait]
impl Searcher for CustomSearcher {
fn name(&self) -> &str { "custom" }
fn result_type(&self) -> SearchResultType { SearchResultType::Generic }
async fn search(&self, query: &str) -> Result<Vec<SearchResult>> {
// Your search logic here
}
}FireSearch follows the Firefly Labs storage pattern:
- Production:
/firefly/config/firesearch/ - Fallback:
~/.firesearch/
# Build
cargo build --release
# Run tests
cargo test
# Run CLI
cargo run -- search "test"
# Run TUI
cargo run -- tuiMIT License - See LICENSE file for details
FireSearch is part of the Firefly Labs suite of privacy-focused, developer-friendly tools.