Skip to content

izag8216/clicontact

Repository files navigation

clicontact

Python License Version


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.

English | 日本語

Quick Start

# 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

Features

  • 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.yaml with auto-backup
  • Dual Interface -- Rich TUI for browsing or Click CLI for scripting/automation

Installation

From PyPI (recommended)

pip install clicontact

From source

git clone https://github.com/izag8216/clicontact.git
cd clicontact
pip install -e .

pipx (isolated)

pipx install clicontact

Usage

TUI Mode

clicontact          # Launch the Rich TUI

The TUI shows your pipeline summary on the left and contact list on the right. Use arrow keys to navigate.

CLI Mode

# 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"

Data Storage

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.

Pipeline Stages

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

Development

git clone https://github.com/izag8216/clicontact.git
cd clicontact
pip install -e ".[dev]"
pytest

License

MIT -- see LICENSE for details.

About

Terminal CRM for solopreneurs -- YAML-backed, pipeline-aware, keyboard-first.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages