Skip to content

anthroos/plaintext-crm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plaintext CRM

License: MIT GitHub stars Works with Claude Code Works with Cursor

AI-native CRM that runs in your IDE. No SaaS, no dashboards -- just talk to your sales data.

You: "Add company Stripe, fintech, SF. CEO is Patrick Collison."
AI:  Done. Created comp-stripe + p-stripe-001 (Patrick Collison, CEO).

You: "Create a lead for our consulting service, $10k estimated"
AI:  Created lead-stripe-001, stage: new, $10,000 USD.

You: "Log call with Patrick -- discussed pilot, sending proposal Friday"
AI:  Logged activity. Set next_action: "Send proposal", next_action_date: 2026-03-07.

Why Plaintext CRM?

Traditional CRM Plaintext CRM
Click through 10 screens to log a call Say "log call with John, he's interested"
Export to CSV to analyze Ask "which leads are closing this month?"
Pay $50-500/month Free, open source
Data locked in vendor Git-controlled CSV files you own
Learn complex UI Just talk to AI
Needs internet Works offline

Quick Start

# 1. Clone
git clone https://github.com/anthroos/plaintext-crm.git
cd plaintext-crm

# 2. Install
pip3 install pandas pyyaml

# 3. Open in your AI IDE
claude                    # Claude Code
# or: cursor .           # Cursor IDE

# 4. Start using -- just talk
"Add company Acme Inc, Series A startup in SF"
"Show my hot leads"
"What needs follow-up today?"

That's it. The AI reads CLAUDE.md and understands the full CRM schema, validation rules, and available operations.

What You Get

  • Companies & Contacts -- universal contact database with relationships
  • Products -- define your offerings (services, reseller, community)
  • Sales pipeline -- leads with stages: new -> qualified -> proposal -> negotiation -> won / lost
  • Client management -- active clients, contracts, MRR tracking
  • Partner tracking -- partnerships with revenue share
  • Deal tracking -- from proposal to paid with invoice tracking
  • Activity log -- every call, email, message logged with direction and channel
  • Schema validation -- schema.yaml + validate_csv.py prevent bad data
  • CSV injection protection -- safe against formula injection attacks

Data Model

Companies <--- People
    |              |
    +-- Leads      | (via primary_contact_id)
    +-- Clients ---+
    +-- Partners   |
    |      |
    |   Deals (proposal -> paid)
    |
    +-- Activities -- People

Key design decisions:

  • Contacts (companies + people) are universal -- they exist once
  • Relationships (leads, clients, partners) track how you interact per product
  • One company can be a client for product A and a lead for product B

Project Structure

plaintext-crm/
├── CLAUDE.md                      # AI context (schema, skills, rules)
├── sales/crm/
│   ├── contacts/
│   │   ├── companies.csv          # All companies
│   │   └── people.csv             # All contacts
│   ├── products.csv               # Your products/services
│   ├── relationships/
│   │   ├── leads.csv              # Sales pipeline
│   │   ├── clients.csv            # Active clients
│   │   ├── partners.csv           # Partner relationships
│   │   └── deals.csv              # Deal & invoice tracking
│   ├── activities.csv             # All communications
│   └── schema.yaml                # Machine-readable validation
├── docs/
│   ├── CRM_FLOW_DIAGRAM.md       # Visual CRM flow diagram
│   ├── SCHEMA.md                  # Field definitions
│   └── WORKFLOW.md                # Daily workflow
├── integrations/                  # Channel setup guides
│   ├── telegram_api.md
│   ├── gmail.md
│   ├── whatsapp.md
│   ├── linkedin.md
│   ├── mcp-agents.md
│   └── plaintext-pm.md
├── sales/outreach/
│   └── OUTREACH_PROMPT.md         # Outreach message templates
└── scripts/
    └── validate_csv.py            # Data validation & integrity checks

Common Commands

Manage contacts

"Add company Acme Inc, SaaS, New York"
"Add John Doe as CTO at Acme, john@acme.com"
"Find all contacts at Deutsche Telekom"

Sales pipeline

"Show hot leads"
"What leads need follow-up today?"
"Move lead-001 to proposal stage"
"Convert lead to client -- they signed"

Track deals

"Create deal for Acme pilot -- $5000 USD"
"Mark deal-001 as delivered"
"Generate invoice for deal-001"

Log activities

"Log call with John -- discussed pricing, follow up Friday"
"Log email sent to Jane with proposal"
"Show all activities with Acme this month"

Analytics

"What's our total MRR?"
"Which leads have been in 'qualified' stage for over 2 weeks?"
"Show activity breakdown by channel this month"

Validation

Run the validation script to check data integrity:

python3 scripts/validate_csv.py

Checks: required fields, foreign key references, enum values, unique IDs, date formats, CSV injection prevention.

python3 scripts/validate_csv.py --fix  # Auto-fix missing last_updated

Ecosystem

Plaintext CRM works standalone. For a complete business OS, pair with:

Repo Purpose Stars
plaintext-crm (this) CRM: contacts, leads, deals, activities GitHub stars
plaintext-pm Project & task management GitHub stars
claude-code-review-skill AI code review (280+ checks) GitHub stars

Integrations

Channel What it does Guide
Telegram Read/send messages, manage groups Setup
Gmail Search emails, read threads Setup
WhatsApp Read chats via Baileys Setup
LinkedIn Connection management, messaging Setup
MCP Agents Agent-to-agent communication via MCP Setup
Plaintext PM Project management integration Setup

Requirements

Philosophy

  1. Your data stays yours -- CSV files, version controlled, no vendor lock-in
  2. AI does the work -- research, draft, log, analyze
  3. Simple beats complex -- if you need Salesforce, this isn't for you
  4. Schema-first -- machine-readable validation prevents bad data

Who This Is For

  • Solo founders doing sales from their IDE
  • Small teams (1-5) without dedicated sales ops
  • Developers who hate context-switching to browser CRM
  • Anyone who thinks CRM should be a conversation, not a dashboard

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

License

MIT

Credits

Built by @anthroos at WeLabelData.

About

AI-native CRM that runs in your IDE. No SaaS, no dashboards — just CSV files and Claude Code.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages