clicontact is a terminal-native CRM for solopreneurs and freelancers. Manage contacts, track deal pipelines, and detect stale relationships -- all from your terminal. YAML-backed, zero SaaS.
# Install
pip install clicontact
# Launch TUI
clicontact
# Or use CLI commands
clicontact list
clicontact add "Alice Smith" --email alice@example.com -t vip -s lead
clicontact pipeline --visual
clicontact stale --days 30- Contact Management -- Add, edit, search, and remove contacts with tags, email, phone, company, and notes
- Pipeline Kanban -- Visual 5-stage pipeline (Lead -> Proposal -> Negotiation -> Contract -> Complete)
- Stale Detection -- Find contacts you haven't reached out to within N days
- Full-Text Search -- Search across names, emails, companies, tags, and notes
- Tag-Based Segmentation -- Filter contacts by any combination of tags
- YAML Storage -- Human-readable, editable
~/.clicontact/contacts.yamlwith auto-backup - Dual Interface -- Rich TUI for browsing or Click CLI for scripting/automation
pip install clicontactgit clone https://github.com/izag8216/clicontact.git
cd clicontact
pip install -e .pipx install clicontactclicontact # Launch the Rich TUIThe TUI shows your pipeline summary on the left and contact list on the right. Use arrow keys to navigate.
# List all contacts
clicontact list
# Filter by tag and stage
clicontact list --tag vip --stage proposal
# Sort by last contact date
clicontact list --sort last_contact
# Add a contact
clicontact add "Alice Smith" --email alice@example.com --company "Acme Corp" --tags vip,saas --stage lead
# View pipeline
clicontact pipeline
clicontact pipeline --visual
# Find stale contacts
clicontact stale --days 30
# Remove a contact
clicontact rm "Alice Smith"Contacts are stored in ~/.clicontact/contacts.yaml. You can edit this file directly with any text editor:
- name: Alice Smith
email: alice@example.com
phone: "555-0100"
company: Acme Corp
tags:
- vip
- saas
stage: proposal
notes: Interested in consulting package.
last_contact: "2026-04-20"
created_at: "2026-04-01"
updated_at: "2026-04-20"A backup (contacts.yaml.bak) is automatically created on each write.
| Stage | Description |
|---|---|
| Lead | New contact, not yet qualified |
| Proposal | Proposal sent, awaiting response |
| Negotiation | Active discussion of terms |
| Contract | Contract signed, onboarding |
| Complete | Project finished, relationship established |
git clone https://github.com/izag8216/clicontact.git
cd clicontact
pip install -e ".[dev]"
pytestMIT -- see LICENSE for details.