A CMS that ships like Go software.

Define collections, access rules, hooks, and plugins in Go. Ridu turns that configuration into database migrations, a REST API, a generated TypeScript client, and an embedded Svelte admin. The application ships as one Go binary.

Create a project
npm create ridu@latest my-app

Interactive setup asks for the template and database. Bun, pnpm, Yarn, and a direct Go install are available too.

A published post open in the embedded Ridu admin, with title, status, author, rich-text content, and document actions.
Edit content, relationships, status, and rich text in one form.

From content model to running application.

Define the model, work with it in the admin, use it from application code, and build the production binary.

content/posts.go
package content

import (
  "github.com/riducms/ridu"
  "github.com/riducms/ridu/field"
)

var Posts = ridu.Collection{
  Slug: "posts",
  Fields: []field.Definition{
    field.Text("title", field.Required()),
    field.Select("status",
      field.OneOf("draft", "published"),
    ),
  },
}

See the whole path in one project.

Choose Starter and SQLite—no database service or Docker required. Create a post in the admin, then read it through the generated SDK.