Mirror: This repo is a read-only mirror of gitlab.com/vauchi/tui. Please open issues and merge requests there.
Note
You're early — and that's the point. Vauchi is pre-alpha and under heavy development: not yet ready for production, and APIs may change without notice. If you're here now, you can help shape it — try it, break it, and tell us what's missing.
Terminal user interface for living contact cards, exchanged in person.
- Contact Card Management: Create and edit your personal contact card
- QR Exchange: Display QR codes in terminal for contact exchange
- Contacts Browser: Navigate and manage contacts with keyboard
- Selective Visibility: Control field visibility per contact
- Encrypted Backup: Export/import with password-protected encryption
- Rust + Ratatui (terminal UI framework)
- Crossterm (cross-platform terminal handling)
- Direct integration with
vauchi-core
# Run directly
cargo run -p vauchi-tui
# Or build and run
cargo build -p vauchi-tui --release
./target/release/vauchi-tui| Key | Action |
|---|---|
e |
Exchange (QR) |
c |
Contacts |
s |
Settings |
d |
Devices |
b |
Backup |
n |
Sync now |
a |
Add field |
x |
Delete |
? |
Help |
q |
Quit |
src/ holds the binary entry point plus ui/ (widget renderers and
snapshot tests) and handlers/ (input handling mapped to core
UserActions). All screens are core-driven ScreenModel renders —
run ls src/ for the live tree; this README deliberately carries no
file inventory.
TDD: Red→Green→Refactor. Test FIRST or delete code and restart.
Structure: src/ = production code only. tests/ = tests only. Siblings, not nested.
Vauchi is open source and community-funded — no VC money, no data harvesting.
- GitHub Sponsors
- Liberapay
- Supporters for sponsorship tiers
MIT