Getting Started with MADORI
Get a new MADORI project running in under two minutes.
Prerequisites
- Node.js 18+
- pnpm (recommended) — install with
npm install -g pnpm
Create a new project
pnpm dlx create-madori-app@latest my-site
Or with npx:
npx create-madori-app@latest my-site
This scaffolds a complete MADORI project into ./my-site.
Install and run
cd my-site
pnpm install
pnpm dev
Your site is now running at http://localhost:3000.
Log in to the Control Panel
Visit http://localhost:3000/cp and sign in with:
- Email:
[email protected] - Password:
password
⚠️ Change the default password after your first login.
What's in your project
my-site/
├── content/ # Your content (Markdown + YAML)
│ └── collections/ # Collection entries
├── resources/ # Schema definitions
│ ├── blueprints/ # Field schemas
│ ├── fieldsets/ # Reusable field groups
│ └── roles/ # Permission roles
├── public/assets/ # Uploaded files
├── users/ # User accounts
├── src/ # Application source
└── madori.config.ts # Project configuration
Create your first collection
- Go to Control Panel → Blueprints → Create
- Choose "Collection" type, give it a handle (e.g.
blog) - Add fields: title (text), slug (slug), content (tiptap)
- Go to Collections → Create, link it to your blueprint
- Start creating entries
Create your first entry
- Navigate to your collection in the Control Panel
- Click Create Entry
- Fill in the fields and save
- Your content is stored as a Markdown file in
content/collections/
Query content with GraphQL
MADORI auto-generates a GraphQL schema from your blueprints. Visit http://localhost:3000/api/graphql to explore it.
Example query:
{
entries(collection: "blog") {
title
slug
content
}
}
Deploy
MADORI runs anywhere Node.js runs. No database required.
- Vercel — connect your repo, auto-deploys on push (read-only CP)
- VPS —
pnpm build && pnpm startbehind nginx (full CP support) - Railway / Render — persistent filesystem, full CP support
For full CP functionality (content editing, asset uploads), use a host with a persistent filesystem.
Next steps
- Explore the source on GitHub
- Create custom blueprints with the visual editor
- Add taxonomies to categorize content
- Build page templates with replicator fields and fieldsets