mirror of
https://github.com/Luchexx/wacrm.git
synced 2026-11-02 09:19:51 +00:00
Self-hostable CRM template for WhatsApp — shared inbox, contacts, sales pipelines, broadcasts, and no-code automations. Fork it, brand it, host it.
Adds .github/workflows/ci.yml running lint, typecheck, and build on pull_request + push to main. Node 20 (matches the engines we'll pin in the metadata PR), npm cache keyed on package-lock.json, concurrency cancel so force-pushes don't queue runs. Also adds a `typecheck` script to package.json — `tsc --noEmit`. Next runs its own typecheck during `build`, but exposing it as a script means editors and pre-commit hooks can invoke it cheaply, and CI can surface type errors separately from build errors. Build passes with dummy env vars (tested locally with .env.local moved aside); NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, and ENCRYPTION_KEY are set to placeholder values inside the workflow. Lint is wired up but marked continue-on-error for now: the repo has 14 pre-existing errors from React 19's new react-hooks/set-state-in- effect rule, across 8 files, that are out of scope for this PR. They still show up in the CI logs so regressions are visible; a follow-up PR will fix them and drop the non-blocking flag. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .github | ||
| docs | ||
| public | ||
| src | ||
| supabase/migrations | ||
| .env.local.example | ||
| .gitignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| components.json | ||
| eslint.config.mjs | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| README.md | ||
| tsconfig.json | ||
WaCRM
Self-hostable WhatsApp CRM — shared inbox, contacts, sales pipelines, broadcasts, and no-code automations — built on Next.js 16 and Supabase.
- Live demo / marketing site:
/ - Source: https://github.com/ArnasDon/wacrm
Quick start
git clone https://github.com/<your-username>/wacrm.git
cd wacrm
npm install
cp .env.local.example .env.local
# Fill in Supabase keys + ENCRYPTION_KEY, then:
npm run dev
Open http://localhost:3000.
For the full setup — Supabase migrations, WhatsApp Business API config,
production deploy on Hostinger — see docs/.
Documentation
- Getting started
- Supabase setup
- WhatsApp setup
- Environment variables
- Deploy on Hostinger
- Automations cron
- Troubleshooting
Stack
- App — Next.js 16 (App Router), React 19, TypeScript, Tailwind v4.
- Data — Supabase (Postgres + Auth + RLS).
- WhatsApp — Meta Cloud API (official WhatsApp Business API).
License
MIT — fork it, brand it, host it. Pull requests welcome.