MADORIMADORI

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:

⚠️ 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

  1. Go to Control Panel → Blueprints → Create
  2. Choose "Collection" type, give it a handle (e.g. blog)
  3. Add fields: title (text), slug (slug), content (tiptap)
  4. Go to Collections → Create, link it to your blueprint
  5. Start creating entries

Create your first entry

  1. Navigate to your collection in the Control Panel
  2. Click Create Entry
  3. Fill in the fields and save
  4. 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)
  • VPSpnpm build && pnpm start behind 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