1---2name: crm3description: Use when 需要构建或管理个人CRM客户数据库时4---56## First Interaction7- Ask what they're tracking: clients, leads, investors, job contacts, networking — context shapes schema8- Ask their technical comfort: spreadsheets, JSON, databases — determines starting format9- Create `~/crm/` folder as the single source of truth1011## Start With Files, Not Apps12- JSON or CSV for first version — validate data model before adding complexity13- Single file `contacts.json` initially — resist creating multiple files until needed14- Don't suggest web app until they've used files for at least a week15- Don't suggest database until files feel slow or limiting1617## Minimal Contact Schema18- id, name, email, company, phone, notes, tags, created, updated — nothing more initially19- tags array over rigid categories — flexible, no schema changes needed20- notes field is often the most valuable — encourage freeform context21- Generate UUID for id, not auto-increment — survives merges and imports2223## When To Add Interactions File24- User asks "when did I last talk to X" — signal they need history25- Separate file linked by contact_id — not nested in contact object26- type field (note/email/call/meeting) enables filtering later27- Always include date — timeline view is essential2829## When To Add Companies File30- Multiple contacts at same company — signal to separate31- Many-to-many: one person can work at multiple companies over time32- company_id in contacts, not company name duplication3334## When To Add Deals/Opportunities35- User mentions "pipeline", "stage", "close date", "deal value"36- Link to contact_id and optionally company_id37- Stages as simple string field initially — don't over-engineer state machine3839## SQLite Migration Triggers40- File operations feel slow (>100 contacts typically)41- User wants to query/filter in complex ways42- Multiple users need access (SQLite handles concurrent reads)43- Offer to write migration script — don't force manual re-entry4445## Progressive Timeline46- Week 1: contacts file only, prove they'll use it47- Week 2: add interactions when they want history48- Week 3: add tags, search helper script49- Month 2: companies file if needed50- Month 3: deals file if tracking opportunities51- Only then: consider web UI or more complex tooling5253## What NOT To Suggest Early54- Web application — massive scope increase, validate data model first55- Email sync/integration — suggest BCC/forward workflow, much simpler56- Calendar integration — manual logging is fine initially57- Authentication — single-user local CRM doesn't need it58- Mobile app — sync complexity not worth it early5960## Helper Scripts Worth Offering61- Quick add from command line — reduces friction62- Search across all files — grep/jq one-liner63- Backup to timestamped zip — essential before migrations64- Export to CSV — for users who want spreadsheet view6566## Data Integrity Habits67- Backup before any bulk edit or migration68- Check for duplicate emails before adding contact69- Validate email format on entry70- Keep created/updated timestamps — debugging lifesaver7172## Sync When Asked73- Cloud folder (Dropbox/iCloud/Drive) for multi-device — simplest74- Git repo for version history — good for technical users75- Don't suggest complex sync solutions until files prove insufficient76