One command. Paste Supabase, Clerk, and Composio. Run HarborPilot.
HarborPilot is an open-source CRM workspace built with Next.js, Clerk, Postgres, Composio, Stripe, Twilio, and Cloudflare R2. HarborPilot/Postgres is the source of truth for contacts, pipeline, tasks, documents, portal access, audit history, and agent writeback. External tools connect through explicit integrations and agent APIs.
npx create-harborpilot@latestThe guided setup supports three modes:
Simple CRM: Clerk + Supabase/Postgres.Connected CRM: Simple CRM + Composio for Gmail and Google Calendar.Business CRM: Connected CRM + Stripe, Twilio, and R2.
Manual setup still works:
npm ci
cp .env.example .env.local
npm run db:migrate
npm run devOpen http://localhost:3000, sign in, and create or import your first contact.
- Next.js 15 App Router, React 19, TypeScript
- Clerk authentication and user webhooks
- Drizzle ORM on Postgres, with Supabase recommended for non-developers
- Composio-powered Gmail and Google Calendar connection flows
- CSV/XLSX contact import into HarborPilot-owned CRM records
- Optional Stripe billing, Twilio communications, and Cloudflare R2 files
- REST/OpenAPI + MCP wrapper for agents that read CRM state and write outcomes back
- This repo intentionally does not include real
.env.localvalues, customer records, provider account IDs, exports, uploads, local databases, or internal planning docs. .env.examplecontains placeholders only. Replace them with credentials from your own Clerk, Postgres/Supabase, Composio, Stripe, Twilio, and R2 accounts.- Imported records are owned by HarborPilot after import. Provider writeback is not part of the public product.
- Do not add sample data that looks real. Use
example.com,example.invalid, and obviously synthetic records in public fixtures.