Nuxt Content is an MIT-licensed, file-based content management system for Nuxt applications that reads Markdown, YAML, CSV, and JSON files from a project's content/ directory and turns them into a typed data layer.
What it is
Nuxt Content is a TypeScript module for the Nuxt ecosystem, distributed through npm as @nuxt/content and documented at content.nuxt.com. It reads the content/ directory inside a project, parses .md, .yml, .csv, and .json files, and exposes the result as a data layer that the application can query. Through the MDC syntax, Vue components can be rendered directly inside Markdown, so prose and interactive UI can live in the same file. The module supports Nuxt 3 and is designed to work in serverless and edge environments such as Cloudflare Workers. Its repository topics describe it as cms, git-cms, markdown, mdc, nuxt, nuxt-module, and vue.
The concrete problem it solves is the split between content and code in a conventional database-backed CMS. Instead of storing articles in an external system reached over an API, the content sits as files in the project repository, where it is versioned alongside the code in Git. That replaces the usual arrangement of a separate CMS service, a content database, and hand-written fetching logic with a single directory and a query builder built on top of a SQLite database. The project carries 3,665 stars, 746 forks, and 54 open issues.
Key capabilities
- Reads and parses
.md, .yml, .csv, and .json files from the content/ directory and exposes them as a data layer.
- Renders Vue components inside Markdown using the MDC syntax.
- Provides fully typed collections and queries.
- Ships a query builder on top of a SQLite database.
- Generates navigation structures from the content tree.
- Adds code highlighting through Shiki.
- Works in serverless and edge environments such as Cloudflare Workers, and provides fast hot module replacement during development.
Who uses it and how
- Teams that treat content as source: the
git-cms topic points to workflows where Markdown files are committed to the repository and reviewed through the same pull-request process as code.
- Documentation and marketing sites built on Nuxt 3 that need navigation generation, typed queries, and highlighted code samples without a separate content backend.
- Projects deployed to serverless and edge platforms, where the module runs on runtimes such as Cloudflare Workers.
- Sites that want interactive elements inside long-form pages, using the MDC syntax to embed Vue components in Markdown.
- Editorial teams that prefer a visual layer, using Nuxt Studio at nuxt.studio on top of the same file-based content.
Getting started
Install the @nuxt/content package from npm and follow the documentation at content.nuxt.com; contributors working on the module itself clone the repository, then run pnpm install, pnpm dev:prepare, and pnpm dev, with pnpm prepack to build and pnpm test to run the test suite.
How it compares
No paid products or named competing tools appear in the facts, so this project stands alone in this registry and no direct comparison can be drawn. The git-cms topic places it in the file-based, Git-backed category rather than among hosted content platforms, but no specific alternative is identified here.
When to use it — and when not to
Choose it when the application is already a Nuxt 3 project and the content can live in the repository, since the module assumes that framework and expects a Node and pnpm build toolchain plus an internal SQLite-backed query layer. Teams that need a browser-based editorial workflow without touching Git, or that run a non-Nuxt stack, should look elsewhere. The README is short and largely links out to the documentation site, so much of the operational detail is not contained in the repository itself.