A terminal command analytics tool inspired by Spotify Wrapped. Record, analyze, and display insights about your most-used Linux terminal commands.
- 📊 Command Tracking: Import commands from bash/zsh history files
- 🔍 Analytics: Analyze command frequency, time patterns, and usage statistics
- 🎵 Wrapped Reports: Generate beautiful "Wrapped" style reports showing your terminal habits
- 💾 SQLite Storage: Efficient local database storage
- 🎨 Beautiful CLI: Color-coded terminal output with progress bars
# Clone the repository
git clone <your-repo-url>
cd rusty-history
# Build the project
cargo build --release
# Install (optional)
cargo install --path .Import commands from your shell history files:
# Auto-detect and import from common history file locations
rusty-history sync
# Import from a specific file
rusty-history sync --file ~/.bash_historyCreate a beautiful "Wrapped" style report:
# Current year (default)
rusty-history wrapped
# Specific year
rusty-history wrapped --year 2024# Show top 10 commands (default)
rusty-history stats
# Show top 20 commands
rusty-history stats --top 20# Show top 10 commands
rusty-history top
# Show top 5 commands
rusty-history top --count 5Export your command data as JSON:
# Default: rusty-history-export.json
rusty-history export
# Custom output file
rusty-history export --output my-commands.jsonThe application is organized into several modules:
capture/: Parses shell history files (bash, zsh)storage/: SQLite database for command persistenceanalysis/: Statistical analysis and pattern detectiondisplay/: Formatted output and "Wrapped" reportsconfig/: Configuration management
See ARCHITECTURE.md for detailed architecture documentation.
By default, the database is stored at:
- Linux:
~/.local/share/rusty-history/history.db - Config:
~/.config/rusty-history/config.toml
- Bash:
.bash_history(standard and extended format) - Zsh:
.zsh_history(extended history format)
clap- CLI argument parsingrusqlite- SQLite databasechrono- Date/time handlingserde- Serializationcolored- Terminal colorscomfy-table- Table formattingindicatif- Progress bars
- Real-time command capture via shell hooks
- Web dashboard
- Command suggestions based on patterns
- Multi-user support
- Integration with tmux/screen
[Your License Here]
Contributions are welcome! Please feel free to submit a Pull Request.