1 stable release
Uses new Rust 2024
| 1.0.0 | Jul 16, 2025 |
|---|
#253 in Database implementations
94KB
2.5K
SLoC
Rolodex ๐๏ธ
A fast and minimal terminal-based contact manager built in Rust using the Elm architecture, Crossterm, and Ratatui.
Features
- ๐งญ Interactive TUI with real-time filtering by name or company
- โจ๏ธ Keyboard navigation (โ/โ, Home/End)
- ๐ Search-as-you-type filtering
- ๐งต JSON output for scripting (pipe into
jqor CLI dialers) - ๐ Contact data loaded from
contacts.json
Usage
./rolodex | jq -r '.phone'
Use arrow keys to select a contact. Press Enter to emit the contact as JSON, which you can then pipe into another tool.
Keyboard shortcuts
| Key | Action |
|---|---|
โ / โ |
Move selection |
Home / End |
Jump to start/end |
Ctrl + Q |
Quit |
Esc |
Clear search |
Enter |
Output selected contact |
JSON Format
{
"name": "Alice Anderson",
"company": "Acme Co.",
"email": "[email protected]",
"phone": "0412 345 678"
}
Installation
git clone https://github.com/popplestones/rolodex.git
cd rolodex
cargo build --release
Then run it:
./target/release/rolodex
Development Notes
For planned features like Add/Edit/Delete modes, file persistence, XDG path support, and CLI improvements, see TODO.md. Contributions and ideas welcome!
License
MIT
Dependencies
~39โ54MB
~820K SLoC