[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80400":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":14,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},80400,"agent-crm","cluster-software\u002Fagent-crm","cluster-software","The headless CRM for Claude & Codex (backed by a16z speedrun)","",null,"TypeScript",67,5,1,6,0,3,8,2.33,false,"main",true,[],"2026-06-12 02:04:01","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Fcdn.shopify.com\u002Fs\u002Ffiles\u002F1\u002F0748\u002F5902\u002F0324\u002Ffiles\u002Fheader_c7055774-5f0b-4794-85f1-15ac9a5d2a25.png?v=1778036454\" alt=\"agent-crm\">\n\n\u003C\u002Fdiv>\n\n\u003Cbr \u002F>\n\n\u003Cdiv align=\"center\" style=\"margin:24px 0;\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcluster-software\u002Fagent-crm-app\u002Freleases\u002Flatest\" style=\"display:inline-block; margin-right:8px; text-decoration:none; outline:none; border:none;\">\n    \u003Cimg src=\"https:\u002F\u002Fcdn.shopify.com\u002Fs\u002Ffiles\u002F1\u002F0748\u002F5902\u002F0324\u002Ffiles\u002Fdownload_0dff1946-6eea-4433-a53f-f6f562442834.png?v=1779414386\" alt=\"Download for macOS\" height=\"45\">\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr \u002F>\n\nLet Claude run sales for you. Claude needs a source of truth but existing CRMs are too hard for Claude to work with. Their MCPs torch your context window, every action is a network round-trip, and you blow through your usage limits.\n\nSolution: Agent CRM. Headless, scriptable, with a CLI for Claude to interact with.\n\n```txt\n                    ┌──────────────┐\n                    │  Custom UIs  │\n                    └──────┬───────┘\n                           │\n┌────────────┐      ┌──────▼──────┐      ┌───────────────┐\n│ AI Agents  ├─────►│  .acrm      │◄─────┤ CLI \u002F Scripts │\n└────────────┘      └─────────────┘      └───────────────┘\n```\n\n## What's in a `.acrm` file?\n\nA `.acrm` file is a **SQLite database** with a [change-history layer](https:\u002F\u002Flix.dev) on top. That means:\n\n- **No proprietary format.** Open it with any lix client and your data is right there in standard tables.\n- **Every write is a versioned checkpoint.** Like git for your CRM — branch to run an experiment, diff to see what changed, revert if Claude mangles a row.\n- **It's just a file.** Copy it, email it, commit it, sync it through Google Drive. No server, no account, no migration tool needed if you ever walk away.\n\nIf you can read SQLite, you can read your CRM. That's the whole guarantee.\n\n## Quickstart\n\nInstall the CLI:\n\n```bash\nnpm install -g @agent-crm\u002Fcli\n```\n\nCreate your first `.acrm` file and let Claude rip on it:\n\n```bash\nclaude --dangerously-skip-permissions\n```\n\nCreate an .acrm file\n\n```bash\n! acrm init pipeline.acrm\n```\n\nThen import your CSVs\n\n```bash\n! acrm import csv .\u002Fleads.csv\n```\n\n## Why Agent CRM\n- **🧩 Headless:** Ships as a CLI.\n- **⚒️ Skills based:** Claude writes skills against the CLI (transcript ingestion, stale-deal sweeps, weekly reports) as `.md` files.\n- **🧱 Modeled:** uses Attio's data model out of the box — `people`, `companies`, `deals`, `posts`, `transcripts`, and communication records. Typed, related, queryable with plain SQL. Fixed schema = predictable agent edits.\n- **🔀 Version controlled:** every change is a checkpoint on a branch. Diff, merge, revert, time-travel.\n- **🔌 Pluggable transcript providers:** `transcripts` are vendor-agnostic. Drop a `transcript-provider-\u003Cvendor>` skill into `~\u002F.claude\u002Fskills\u002F` to plug in Granola, Otter, Fireflies, Fathom, Zoom, manual paste, or anything else.\n\n\n## Use cases\n\nA grab-bag of jobs Agent CRM handles today. Each is a skill or a CLI command — bring your own, or use the ones we ship.\n\n**Pull call transcripts from Granola.** `acrm connect granola` stores a user-provided Granola API key in the hosted sync engine, and `acrm import granola` brings synced transcripts into your local workspace with attendees linked as people. Local, queryable, and easy to spot patterns across calls.\n\n**Draft follow-ups in your voice.** [`\u002Ffollow-up`](packages\u002Fcli\u002Fskills\u002Ffollow-up.md) finds leads with stale activity, reads the prior thread plus any past-call transcripts, and drafts the next message. You review and send.\n\n**Import a scraped list.** `acrm import csv .\u002Fleads.csv` ingests a CSV with auto-derived attributes. New columns become typed attributes on the right object — no schema setup.\n\n**Sync Gmail.** `\u002Facrm-onboarding` starts hosted Google OAuth. The sync engine imports Gmail in the background, and the Electron app pulls people, threads, and messages back into your local `.acrm` file.\n\n**Import your LinkedIn network.** `acrm connect linkedin` opens the hosted LinkedIn connect flow. After that, `acrm import linkedin` imports existing 1st-degree connections as lightweight contacts, with `--cutoff-date \u003CYYYY-MM-DD>` for recent connections.\n\n**Sweep stale deals.** Ask Claude to query your `.acrm` for deals untouched in N days and surface them. It's just SQL underneath, so any filter you can describe, Claude can run.\n\n**Import X \u002F LinkedIn posts.** You're scrolling and see a post worth following up on. Paste the URL into Claude Code — `acrm import post \u003Curl>` upserts the post and adds the author as a contact.\n\n**Import X \u002F LinkedIn profiles.** Come across someone you want to chat to. Paste the profile URL into Claude Code — `acrm import linkedin \u003Curl>` or `acrm import x \u003Chandle>` pulls one enriched profile and dedupes against existing people.\n\n**Plug in a new transcript provider.** Adapters are themselves skills. Drop a `transcript-provider-\u003Cvendor>` SKILL.md into `~\u002F.claude\u002Fskills\u002F` following the contract in [`docs\u002Ftranscript-provider-protocol.md`](docs\u002Ftranscript-provider-protocol.md) (Otter, Fireflies, Fathom, Zoom). Native providers can also add first-class CLI imports like `acrm import granola`.\n\n**Write your own skill.** Ask Claude for _\"a skill that reads my call transcripts, updates deal stages, and posts a summary to Slack\"_ and it writes a `.md` file into `~\u002F.claude\u002Fskills\u002F`. No code.\n\n**Query with plain SQL.** `acrm execute \"SELECT ...\"` runs against the Attio-style schema. It's just SQLite — bring any client you like.\n","Agent CRM 是一个为Claude设计的无头CRM系统。它通过CLI与Claude交互，核心功能包括使用SQLite数据库作为存储，支持版本控制和变更历史记录，确保数据的一致性和可追溯性。技术特点上，Agent CRM采用TypeScript编写，支持自定义UIs、AI代理集成以及基于技能的操作模式。此外，它遵循固定的Attio数据模型，便于查询和管理。适合需要灵活、高效客户关系管理且偏好脚本化操作的工作场景，如销售自动化、客户数据分析等。",2,"2026-06-11 04:00:36","CREATED_QUERY"]