v0.6 · now on JSR

The flat-file CMS
for Deno and Fresh

Markdown content. TSX themes. Zero database.
Ships as a singleDeno module — no build pipeline required.

$dune new my-site

Markdown served the Fresh way

📄

Markdown content

Write pages in Markdown or MDX — embedding Fresh islands directly in your content for interactive components right in the prose.

TSX themes

Themes are Preact components — the same model Fresh uses. Full TypeScript, zero build step, Deno compiles TSX on the fly.

🔌

Plugin system

Extend Dune with hooks for rendering, routing, and content — and ship interactive UI as islands that hydrate where you need them.

🗂️

Multisite

Serve multiple sites from a single process with shared themes. Ideal for hosting families of sites.

🌐

i18n built-in

Multi-language routing, locale files, and language switcher — all wired up automatically.

🚀

Deploy anywhere

Run as a standard Deno HTTP server. Deploy to Deno Deploy, fly.io, a VPS — whatever you prefer.

Up and running in minutes

No config files, no installers, no local databases. Dune is a Deno module you import and serve.

01

Create a site

Run the CLI to scaffold a new site with a starter theme, sample content, and a ready-to-run deno.json.

02

Write your content

Drop markdown files into content/. Directories become sections. Frontmatter controls templates, titles, and metadata.

03

Ship it

Run dune serve. Point a domain at it. Done. No database, no build pipeline, no CMS vendor lock-in.

Minimal boilerplate

Two files to a working site: a deno.json and a site config.

# Install the CLI
deno install -A -n dune jsr:@dune/core/cli

# Create a new site
dune new my-site
cd my-site

# Start the dev server
dune dev

# Build for production
dune serve
{
  "imports": {
    "preact": "npm:preact@^10",
    "preact/jsx-runtime": "npm:preact@^10/jsx-runtime",
    "@dune/core": "jsr:@dune/core@^0.6"
  },
  "tasks": {
    "dev": "dune dev",
    "serve": "dune serve"
  },
  "compilerOptions": {
    "jsx": "react-jsx",
    "jsxImportSource": "preact"
  }
}
title: My Site
description: Built with Dune
url: https://mysite.com
theme:
  name: starter

Ready to build?

Read the docs, scaffold your first site, and see how far a flat-file stack gets you.