Thanks to visit codestin.com
Credit goes to lib.rs

#tui #contact #terminal #rolodex

bin+lib rolodex-tui

A fast and minimal terminal-based contact manager built in Rust

1 stable release

Uses new Rust 2024

1.0.0 Jul 16, 2025

#253 in Database implementations

MIT license

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 jq or 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