{"repo":"justinabrahms/frm","free":true,"listed":false,"github":"https://github.com/justinabrahms/frm","clone":"git clone https://github.com/justinabrahms/frm.git","description":"CLI for managing personal contacts. Can be agent-driven. Uses CardDAV (apple/fastmail contacts). Your AI agent (or you) checks who you're overdue to contact, preps context for meetings, and logs interactions.","language":"Go","stars":14,"topics":["ai-agents","carddav","cli","crm","personal-crm"],"license":"MIT","category":"ai-agents","readme_excerpt":"frm Maintain meaningful relationships -- a CLI personal CRM backed by CardDAV. Single binary, no database -- your contacts live in your existing address book, interaction history in a local JSONL file. Built to be driven by AI agents. Read the docs Getting Started Command Reference Agent Integration Install Download a prebuilt binary from Releases, or install with Go: Quick start 1. frm init to connect your CardDAV server (iCloud, Fastmail, or custom) 2. frm triage to categorize your contacts 3. frm check to see who you're overdue to reach out to 4. frm log \"Alice\" --note \"caught up over coffee\" after you talk to someone Agent integration frm is designed for AI agents to drive your relationship maintenance. Every command supports --json for structured output and --dry-run for safe previews. See the Agent Integration Guide and SKILL.md for a complete reference. Usage All commands support --json for machine-readable output and --dry-run for previewing changes. Duration format - 3d -- every 3 days - 2w -- every 2 weeks - 1m -- every month (30 days) Setup Create /.frm/config.json with at least one CardDAV service, or run frm init for the interactive wizard. iCloud 1. Go to account.apple.com Sign-In and Security App-Specific Passwords 2. Generate a new password Fastmail Google Contacts Multiple accounts and JMAP email context You can combine multiple CardDAV accounts and add a JMAP provider for email context in frm context and frm triage : You can override the config directory wit","default_branch":null,"files":null,"tree":[],"storefront":"/r/justinabrahms","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/justinabrahms/frm/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}