Modular project starter & component ecosystem — assemble production-ready web applications from reusable modules instead of rebuilding the same features every time.
Enable developers to create production-ready web applications in minutes by assembling reusable modules:
- Authentication
- Payments
- Notifications
- Email systems
- Admin dashboards
- Branding systems
- File uploads
# From the Genesis monorepo (development)
npm install
npm run build:packages
# Create a new project (link local packages while unpublished)
node cli/dist/index.js create my-app --local
# Or after publishing to GitHub Packages (see docs/publishing.md)
npx @genesis/cli create my-appThe CLI will prompt for:
- Project name
- Template (blank, informational site, SaaS, e-commerce)
- Modules to install
Then it scaffolds a Next.js app, installs @genesis/* packages, copies route files, and merges environment variables.
Marketing site: Run npm run dev:www to preview the Genesis landing page, docs, and template gallery at localhost:3001.
See docs/quickstart.md for detailed examples, or browse the full documentation.
| Command | Description |
|---|---|
genesis create [name] |
Create a new project with selected modules |
genesis create -s monorepo |
Create a Turborepo project with apps/web |
genesis add <module> |
Add a module to an existing project |
genesis remove <module> |
Remove a module and its scaffolded files |
genesis update |
Update @genesis/* packages |
| Module | Phase | Description |
|---|---|---|
@genesis/auth |
1 | Registration, login, JWT, RBAC |
@genesis/branding |
1 | Logo, colors, typography |
@genesis/payments |
1 | Paystack payments & webhooks |
@genesis/dashboard |
1 | Admin sidebar, tables, settings |
@genesis/emails |
2 | Transactional email (Resend/SendGrid) |
@genesis/notifications |
2 | In-app, email, SMS notifications |
@genesis/uploads |
2 | Cloudinary/S3 file uploads |
@genesis/analytics |
3 | Event tracking & dashboard metrics |
Genesis uses a hybrid module model:
@genesis/*packages — shared logic, components, hooks, server utilities- CLI scaffolding — app-specific routes, middleware, env templates copied into your project
Each module includes a manifest.json declaring dependencies, env vars, and scaffold files.
// genesis.config.ts
import { defineGenesisConfig } from "@genesis/core";
import auth from "@genesis/auth/config";
import branding from "@genesis/branding/config";
export default defineGenesisConfig({
modules: [
auth({ providers: ["email"] }),
branding({ primaryColor: "#000000" }),
],
});genesis/
├── cli/ # @genesis/cli
├── packages/
│ ├── core/ # Config, registry, shared utils
│ ├── database/ # MongoDB adapter
│ ├── ui/ # Shared UI components
│ ├── auth/ # Authentication module
│ ├── branding/ # Branding module
│ ├── payments/ # Payments module
│ ├── dashboard/ # Dashboard module
│ ├── emails/ # Email module
│ ├── notifications/ # Notifications module
│ ├── uploads/ # Uploads module
│ └── analytics/ # Analytics module
└── templates/ # Project templates
| Guide | Description |
|---|---|
| docs/quickstart.md | Install and create your first project |
| docs/cli.md | CLI commands reference |
| docs/configuration.md | Env vars and genesis.config.ts |
| docs/templates.md | Template index and links to per-template guides |
| docs/workflows.md | Common project setups |
| docs/modules/ | Per-module usage guides |
| docs/agent-skill.md | Install the Genesis AI agent skill |
| USAGE.md | Documentation index |
npm install
npm run build:packages # packages + CLI (excludes marketing site)
npm run build:all # everything, including apps/www
npm run test # Run tests
npm run typecheck # Type check- Frontend: Next.js 15, TypeScript, Tailwind CSS
- Backend: Next.js API Routes
- Database: MongoDB (PostgreSQL planned)
- Monorepo: Turborepo + npm workspaces
- Distribution: GitHub Packages (private), npm (public phase)
MIT — see LICENSE