Atomic CRM is a full-featured, open-source CRM originally developed by Marmelab and extended here with a fully documented, repeatable deployment process.
This repository focuses on:
- deterministic local setup (WSL + Docker)
- Supabase-backed auth and data
- Vercel-based frontend deployment
- automation-ready documentation
Demo (upstream):
https://marmelab.com/atomic-crm-demo
If you are setting up this project locally or deploying it yourself, start with these documents in order:
-
π Installation
βdocs/INSTALLATION.md
Canonical, step-by-step setup from a fresh machine. -
π§ Lessons Learned
βdocs/LESSONS_LEARNED.md
Root causes of issues encountered during real deployments, and how they were fixed. -
π Troubleshooting
βdocs/TROUBLESHOOTING.md
Symptom β cause β fix reference. -
π§© Architecture
βdocs/ARCHITECTURE.md
System boundaries, environments, and trust model.
If something is not written in these docs, it is not considered part of the supported setup.
This project does not commit environment files.
.env.localor.env.development- gitignored
- used by local tooling (Vite, Supabase functions, scripts)
- developer-specific values
- No
.env.productionfile is committed - Values live in:
- Vercel Environment Variables (Frontend)
- Supabase Secrets (Edge Functions, if used)
The committed file .env.example defines the required schema only.
- π Organize Contacts β Centralized contact management
- β° Tasks & Reminders β Never miss a follow-up
- π Notes β Capture insights and context
- βοΈ Inbound Email Capture β Save emails as CRM notes
- π Deal Management β Kanban-style sales pipeline
- π Import / Export β Move data in and out easily
- π Authentication β Google, Azure, Keycloak, Auth0
- π Activity History β Aggregated interaction logs
- π API Integration β Connect external systems
- π οΈ Customizable β Fields, themes, components
These guides describe the applicationβs capabilities.
The canonical install flow for this repo lives indocs/INSTALLATION.md.
Customisation requires TypeScript and React knowledge.
Run unit tests with:
make test
Tests use Jest and live alongside source files as *.test.ts or *.test.tsx.
π¦ Registry
Atomic CRM components are published as a Shadcn Registry:
registry.json is generated by scripts/generate-registry.mjs (pre-commit hook)
The published registry lives at:
http://marmelab.com/atomic-crm/r/atomic-crm.json
β οΈ If registry.json is missing changes, update scripts/generate-registry.mjs.
π License
MIT License, courtesy of Marmelab.
See LICENSE.md.