Getting Started
Installation
Get the Nucleify monorepo running on your machine.
Prerequisites
| Tool | Version | Notes |
|---|---|---|
| Node.js | ≥ 20 | Required by root package.json |
| pnpm | 10.x | Workspace manager (packageManager: pnpm@10.33.0) |
| Git | any recent | Clone the repository |
| Make | any | Runs workspace shortcuts from the root Makefile |
| Supabase CLI | optional | Only if you run a local Supabase stack |
Clone the repository
git clone https://github.com/Nucleify/Nucleify.git
cd NucleifyFirst-time setup
From the repo root, run:
make runThis command:
- Creates
.env— copiesweb/.config/.env.exampleto the repo root if.envis missing - Installs dependencies —
pnpm installacross all workspace packages - Prepares Husky — git hooks for lint and test checks
- Prepares web —
pnpm --filter @nucleify/web prepare - Syncs Cursor rules —
pnpm sync-rules - Builds the compiler —
pnpm compiler:check+pnpm compiler:build(skip withSKIP_COMPILER=1 make run)
If you already have a .env file, use make setup instead — same steps without overwriting environment config.
Environment variables
After make run, edit the root .env and fill in at minimum:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-keyThe API gateway in web/src/server/api/[...slug].ts requires SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY for module routes. Without them, smoke endpoints (/api, /api/test) still work, but domain handlers return 503.
See Environment for the full variable reference.
Verify the installation
Start the landing app:
make webOpen http://localhost:3000. The default locale redirect sends you to /en/home.
Other packages:
make admin # admin panel (Nuxt)
make docs # documentation site (Astro)
make compiler # compiler check + build onlyWorkspace packages
The monorepo uses pnpm workspaces. Filter commands when you need a specific package:
pnpm --filter @nucleify/web dev
pnpm --filter @nucleify/admin dev
pnpm --filter @nucleify/docs devRoot shortcuts mirror the Makefile:
| Script | Package |
|---|---|
pnpm dev |
@nucleify/web |
pnpm admin |
@nucleify/admin |
pnpm docs |
@nucleify/docs |
pnpm compiler |
@nucleify/compiler CLI |
Optional: local Supabase
If you develop against a local Supabase instance:
# Apply merged module migrations, factories, and seeders
pnpm supabase:setup:localSQL from all modules is merged by .config/bash/merge-module-supabase-sql.sh. Details: Supabase.
Troubleshooting
Compiler fails on setup
Skip compiler codegen during bootstrap:
SKIP_COMPILER=1 make run
make compiler # run manually once deps are stablePort already in use
Nuxt defaults to port 3000. Set a different port in your shell or stop the conflicting process.
Missing Supabase errors in API routes
Ensure .env is at the repo root (not inside web/). Nuxt loads it via web/.config/nuxt/load-env.ts, which reads the monorepo root .env.
pnpm version mismatch
Install the version pinned in package.json:
corepack enable
corepack prepare pnpm@10.33.0 --activateNext steps
- Quick Start — tour the repo and common workflows
- Web & Admin Configuration — Nuxt config split and aliases
- Monorepo Layout — directory reference