Contact Book
Productivity toolkit for managing contacts and relationships — add entries, plan follow-ups, track interactions, set reminders, tag contacts, and generate reports. All data stays local.
Commands
| Command | Description |
|---|---|
contact-book add <input> | Add a new contact or entry |
contact-book plan <input> | Record a follow-up plan for a contact |
contact-book track <input> | Log an interaction or touchpoint |
contact-book review <input> | Record a review note for a contact or relationship |
contact-book streak <input> | Track communication streaks with contacts |
contact-book remind <input> | Set a reminder for a contact-related task |
contact-book prioritize <input> | Mark a contact or task as high priority |
contact-book archive <input> | Archive a contact or old entry |
contact-book tag <input> | Add a tag or label to a contact |
contact-book timeline <input> | Record a timeline event for a contact |
contact-book report <input> | Generate a report entry |
contact-book weekly-review <input> | Log a weekly relationship review |
contact-book stats | Show summary statistics: entry counts per command, total, data size |
contact-book export <fmt> | Export all data in json, csv, or txt format |
contact-book search <term> | Search across all logs for a keyword |
contact-book recent | Show the 20 most recent activity entries |
contact-book status | Health check: version, data dir, entry count, disk usage, last activity |
contact-book help | Show help with all available commands |
contact-book version | Show current version |
Command Behavior
- With arguments: Each command logs the input with a timestamp to its own dedicated log file (e.g.,
add.log,plan.log,tag.log) - Without arguments: Each command displays the 20 most recent entries from its respective log file
Data Storage
- Default data directory:
~/.local/share/contact-book/ - Per-command logs:
$DATA_DIR/<command>.log(e.g.,add.log,plan.log,remind.log) - History log:
$DATA_DIR/history.log— master timeline of all activity - Export files:
$DATA_DIR/export.<fmt>— generated by theexportcommand - All data is local plain-text. No cloud, no sync, no network calls.
Requirements
- Bash 4+ (uses
set -euo pipefail) - No external dependencies or API keys required
- Works entirely offline — your data stays on your machine
When to Use
- Building a personal CRM — Use
add,tag, andtrackto maintain a lightweight contact database with interaction history - Planning follow-ups — Use
planandremindto schedule and track outreach to important contacts - Maintaining communication streaks — Track how consistently you stay in touch with key people using
streak - Weekly relationship reviews — Run
weekly-reviewto reflect on your networking activity and identify gaps - Exporting contact data — Use
export jsonorexport csvto produce structured data for other tools or spreadsheets
Examples
# Add a new contact
contact-book add "Alice Chen — PM at Acme Corp — alice@acme.com"
# Plan a follow-up
contact-book plan "Follow up with Alice re: partnership proposal by Friday"
# Track an interaction
contact-book track "Had coffee with Bob, discussed Q2 roadmap"
# Tag a contact
contact-book tag "Alice Chen: investor, priority"
# Set a reminder
contact-book remind "Send birthday card to Carol — March 25"
# Log a weekly review
contact-book weekly-review "Reached out to 5 contacts, 3 replied, 1 meeting scheduled"
# Search across all logs
contact-book search "Alice"
# Export all data as CSV
contact-book export csv
# View summary statistics
contact-book stats
# Check system status
contact-book status
# Show recent activity
contact-book recent
How It Works
Each command maintains its own log file in the data directory. Entries are stored as timestamp|value lines. The stats command aggregates counts across all log files. The export command merges all logs into a single file in your chosen format (JSON, CSV, or TXT). Every action is also recorded in history.log as a master audit trail.
Tips
- Run any command without arguments to review its recent entries — quick way to check history
- Use
contact-book recentfor a cross-command activity timeline - Combine
searchwith shell tools:contact-book search "2025" | grep "plan" - The
prioritizecommand helps surface your most important relationship-building tasks - Run
contact-book helpat any time for the complete command reference
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com