Background

Git-based CMS Built for Next.js

Minimal setup

Straightforward content modeling without dealing with databases and migrations.

Git based

Version controlled content in your repository. Easily branch and feature test content changes.

Fully typed

An optimized, type-safe experience for Typescript users without overcomplication.

Organize content in a clear, hierarchical structure

Editors can easily navigate, reorder, and manage pages in a way that makes sense for any project. Navigation stays simple, whether you’re editing in the dashboard or working with the API.

Alinea dashboard screenshot
// Configure a CMS within minutes

const BlogPost = Config.document('Blog post', {
  fields: {
    title: Field.text('Title'),
    body: Field.richText('Body text')
  }
})

const Blog = Config.document('Blog', {
  contains: [BlogPost]
})

const cms = createCMS({schema: {Blog, BlogPost}})

Describe your schema in code, get back fully typed content

Define your content schema in code and get fully typed content instantly — no generation step needed. Skip the endless form clicks and manage structure with the same workflow: branch, test, and iterate in code.

Publish with control

Work on content without publishing right away. Alinea makes it easy to manage drafts, archive old pages, and keep your workspace tidy. The workflow stays simple for everyday tasks, but gives you the structure and control needed for larger, more complex projects.

Alinea content tree screenshot
// Query content within React components

const blog = await cms.get({
  type: Blog
})

const posts = await cms.find({
  type: BlogPost,
  select: {title: BlogPost.title, body: BlogPost.body}
  // ... filter, sort, paginate, order by, etc.
})

Content is local, versioned, and deploys with your site

Access content through a developer-friendly query API. Because everything is bundled at build time, there is no need for runtime fetching or external requests.

Open source

Open source by design, Alinea gives you full control over your CMS. Use it, extend it, or contribute back.

Live Previews

See exactly what content changes look like in real time. Preview updates instantly with full support for React Server Components.

Custom Fields

Extend Alinea with your own fields. Create custom inputs with simple constructor functions. Tailored to exactly what your editors need.