Skip to content

cellajs/cella

Repository files navigation


Cella

Single stack TypeScript template to build local-first SaaS.

Website · prerelease version · MIT license



Prerelease

❗ Please be aware this is a prerelease. It does not meet production requirements yet and large breaking changes still occur regularly. Want to contribute? Let's connect! ✉️ info@cellajs.com

Contents

Installation

Prerequisites

  • Node: Check node with node -v. Install Node 20.x or 22.x with (recommended) Volta.
  • Docker: Install Orbstack or Docker

Step 1

git clone git@github.com:cellajs/cella.git && cd cella

Create a .env in /env folder with .env.example. Minimum is DATABASE_URL. Then install:

pnpm install

Make sure docker runs in the background with a postgres db in it, or skip this and use supabase instead.

pnpm run docker

Or, use Supabase as a database. Add the SUPABASE_DATABASE_URL to .env file. Then run:

pnpm run docker:supabase

Step 2

When starting from scratch: generate migration and build the db tables.

pnpm run generate
pnpm run migrate 

Generate local-first sync layer with ElectricSQL.

pnpm run electrify

Check it out at localhost:3000

pnpm run dev

Step 3

The user seed is required to add an ADMIN user. There is also an optional seed to add more data with faker.js.

pnpm run seed:user
pnpm run seed:data

Use Drizzle Studio to manage your local db on local.drizzle.studio

pnpm run studio

API documentation

Cella uses Scalar for autogenerated OpenAPI docs. They are update automatically on local at localhost:4000/docs

More info

  • Cella uses Biome. Please install it for a correct code style. For manual lint fixing run pnpm run check:fix for type errors pnpm run check:types
  • EADDRINUSE errors? Try sudo lsof -i :1080 -i :3000 -i :4000 and then kill -9 *PID* with a space-separated list of PID
  • pnpm cache issues? Try pnpm store prune
  • turbo cache issues? Try adding --force to the command
  • docker cache issues? Try docker builder prune --force


💙💛 Big thank you too drizzle-orm, hono, tanstack-router, electric-sql & shadcn.