Skip to content

Git-based CMS
built for Next.js

Get startedTry the demo
Read https://v2.alineacms.com/start.md and help me add Alinea to my Next.js project

Works with Claude Code, Cursor, Codex and more

dashboard-product
dashboard-product-dark

Where Alinea shines

The things you won't find together in any other git-based CMS.

Faster since 2.0

Publish. It's live. No build to wait for.

Every publish is still a git commit, but your site doesn't wait for CI. It picks up the new content straight away. Skip builds for content-only commits and revalidate after each publish, and editors never wait on a deploy again.

  • Content syncs to your running site on every commit
  • Content-only commits can skip the rebuild entirely
  • Code changes still deploy the way they always have
Set up instant publishing
A typical git-based CMS
PublishCommitWaiting for CI to rebuild the siteLive
Alinea
PublishCommitLiveCI build

Live previews in one line

Add one component to your layout and every page previews drafts as editors type. No per-component wiring, no preview routes, and server components render the draft on the server.

app/layout.tsx
<body>
  {children}
  <cms.previews widget />
</body>
React Server ComponentsYour own routes and stylesFull-screen preview

A tiny footprint

Alinea installs 4 packages. Other CMSs pull in hundreds.

Packages and disk size of a clean npm install, excluding React and Next.js. Measured September 2026.

Everything else, done properly

The basics every team needs, without a database to run or a vendor to depend on.

Content in git

Every entry is a JSON file in your repository. Review, branch and roll back content like code.

Typed, no codegen

Query types come straight from your schema. No generate step and no stale types.

No database server

Content is indexed in SQLite, bundled with your site. Fast, fuzzy search in the dashboard.

Self-host or Cloud

Run the backend on your own database with one of eight drivers, or let Alinea Cloud handle it.

Ready for coding agents

The docs ship with the package as Markdown, so AI agents know the API of the installed version.

Open source

MIT licensed and developed in the open on GitHub.

From schema to published page

Three steps, all in your own repository. Nothing to migrate, nothing extra to host.

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

Model your content

Describe types and fields in TypeScript, right in your codebase. No migrations, no separate admin project.

02

Edit in the dashboard

Editors get a generated dashboard with drafts, previews and media. They never see a line of JSON.

03

Publish with git

Publishing writes a commit to your repository, and your site deploys like any other change.

Typed from schema to page

Query content from server components with an API that knows your schema. Your editor autocompletes every field, and the compiler catches the rest.

  • Autocomplete for every field and type
  • Select exactly the shape your component needs
  • Follow links between entries in a single query
Read the query docs
app/blog/[slug]/page.tsx
export default async function Post({params}) {
  const {slug} = await params
  const post = await cms.get({
    type: BlogPost,
    url: `/blog/${slug}`,
    select: {
      title: BlogPost.title,
      publishDate: BlogPost.publishDate,
      body: BlogPost.body
    }
  })
  return <Article {...post} />
}
const post: {  title: string  publishDate: string  body: TextDoc}

Host it your way

Self-host

Free, MIT licensed

The dashboard ships with your app and deploys wherever Next.js runs. You stay in control of authentication and access.

  • Full control over data and access
  • Any host that runs Next.js

Alinea Cloud

Free while in beta

Connect your GitHub repository and invite editors. Cloud handles sign-in and commits published content back to your repository.

  • Sign-in for editors, no auth to build
  • Publishing straight to GitHub
vetra

Start from Vetra

A ready-made Next.js template with a production-ready Alinea setup, so you can start from a working site.

  • Blog with archive

  • Categories and authors

  • Built with Next.js and Tailwind CSS

Questions, answered

Can't find what you need? Ask on GitHub.

Do I need a database?

Not for your content. It is stored as JSON files in your repository, and Alinea builds an SQLite index from those files for querying and search. With Alinea Cloud there is no database to run at all. If you self-host the backend, you do need one for the dashboard's users and roles and for uploads until they are committed: PostgreSQL, MySQL, SQLite or PGlite.

Does it work with the App Router and server components?

Yes. Alinea is built for the Next.js App Router. You query content directly in server components, and live previews render drafts on the server as editors type.

Can I host it somewhere other than Vercel?

Yes. The dashboard ships with your Next.js app and deploys wherever Next.js runs. Run the backend yourself on your own database, or let Alinea Cloud handle sign-in and publishing.

Do content edits trigger a rebuild?

They do not have to. Every publish is a git commit and your site picks up the new content without waiting for a build. Content-only commits can skip the rebuild, and static pages can be revalidated after each publish. See instant publishing.

How do I upgrade from 1.x?

Follow the upgrade guide, which walks through moving an existing 1.x project to 2.0.

Ship content with your code

Add Alinea to a Next.js project in a few minutes. Open source and MIT licensed.

Get started