A flat-file CMS for people
who like both ACF
and the command line.
Files on disk. A visual field builder. PHP or Twig themes. Edit in the admin, in your IDE, or with an agent — no database, no lock-in, no ceremony.
A real admin, not a config file.
Field builder, media library, theme editor, backups — all in the browser. None of it requires a database.
-
Editor Markdown editor with auto-generated front-matter inputs. -
Fields Build field schemas without writing YAML. -
Theme Edit Twig & CSS in the browser, with live preview. -
Media Global library plus per-post folders. -
Settings Global site settings, all in plain JSON. -
Backup One-click full-site backup & restore.
See FrontPress in action.
A short guided tour — install, write a post, theme it, ship.
- 0 databases to manage
- < 0s install to first post
- 0+ PHP, that's all you need
- 0% MIT open source
Everything you need, nothing you don't.
Four pillars, designed to be hackable. Stack them, swap them, or get out of their way.
-
Storage
Flat files, no database
Every post, page, and config is a file on disk. Edit in the admin, edit in your IDE, or commit changes in git. Move the folder, move the site.
📄 hello-world.md 📄 theming.md 📄 getting-started.md 📁 media/ 📁 backups/ -
Authoring
Markdown all the way down
YAML on top, prose below. Custom fields, taxonomies, and archives generate themselves. Raw HTML passes through when you need it.
--- title: Field notes tags: [ideas, drafts] --- ## Today - Outline the talk - **Draft** the intro
-
Editor
No front-matter to memorize
The biggest pain point of file-based CMSes is remembering YAML keys. FrontPress's editor reads your field schema and renders proper inputs — dates, dropdowns, toggles, image pickers. You write prose, not metadata.
Title Hello, worldDate 📅 2026-05-17Tagswelcome intro + addCategorytutorial news release -
Theme editor
Edit your theme in the browser
A built-in code editor for Twig templates and CSS — syntax highlighting, autosave, file tree, and live preview. Tweak the design from any laptop without spinning up an IDE or pushing to git.
post.twig1 {% extends '_layout.twig' %} 2 3 {% block content %} 4 <article> 5 <h1>{{ meta.title }}</h1> 6 {{ html|raw }} 7 </article> 8 {% endblock %}
-
Templating
Pick PHP or Twig — both ship
Write themes in plain PHP if that's your home turf, or Twig for the inheritance + auto-escape model. Partials, asset helpers, and folder-aware archives work the same in either engine. Two starter themes in the box.
post.php PHP <?php partial('header'); ?> <article> <h1><?= e($meta['title']) ?></h1> <?= $html ?> </article> <?php partial('footer'); ?>
post.twig Twig {% extends '_layout.twig' %} {% block content %} <article> <h1>{{ meta.title }}</h1> {{ html|raw }} </article> {% endblock %}
-
SEO
SEO that ships on day one
Sitemap, robots.txt, OpenGraph, Twitter cards, and JSON-LD are auto-generated for every page. Override per-post via front matter when you need to. No plugin, no setup.
example.com › blog › hello-worldHello, world — FrontPress StudioA starter post showing front matter, Markdown body, and taxonomy. Edit or delete from the admin.
Your coding agent already speaks FrontPress.
Every post, page, and template is a plain file. Claude Code, Codex CLI, Cursor — any agent that can edit files can edit your site. No MCP server. No API tokens. No integration to maintain.
$ cd site/content/blog $ claude "write a release note for v0.0.78" ● Reading site/content/blog/_index.md ● Reading site/content/blog/hello-world.md (style reference) ● Writing site/content/blog/v0-0-78.md ✓ Created post with title, date, tags, excerpt ✓ Ready to commit $ git diff --stat site/content/blog/v0-0-78.md | 28 ++++++++++++++++++++++++++++
-
Point and write
Drop your agent in
site/content/and it has the whole content tree. No vector DB to index, no schema to introspect — it's all there. -
Themes are just files too
Ask Claude to "redesign the post page" and it edits the Twig template directly. No proprietary block format, no IDE plugin — just
.twigand.css. -
git diffis your audit logEvery AI edit shows up in version control. Review, merge, or revert — same workflow as the rest of your code.
-
No MCP, no API keys
FrontPress doesn't need a bridge to AI tools. Filesystem access is the bridge. If your agent can read a folder, it can run your site.
One click on Mac.
Skip the terminal. FrontPress Local installs PHP, scaffolds your site, and serves it on localhost — your browser opens to a working install. Fully offline, no cloud, no account.
v1.2.0 · Universal binary (Apple Silicon & Intel) · ~8 MB · No account required
Or zip + 4 steps, your call.
No build step. No env vars. No "before you begin, install Postgres."
-
01
Drop the zip
Unzip into your document root. PHP 8.1+ and mod_rewrite is the whole stack.
-
02
Sign in at /admin
First run shows a temporary password. A pinned banner nags until you set a real one under Settings → Security.
-
03
Write Markdown
Hit New, pick a folder, type. Front matter sets the title, date, tags, and anything else you want.
-
04
Theme it your way
Edit Twig templates and a single style.css. Switch active_theme in site/config.json to flip looks.
One click from WordPress to FrontPress.
The FrontPress MD Exporter is a free WordPress plugin that turns your posts, pages, custom post types, taxonomies, ACF fields, and media into a ready-to-drop site/content/ tree. Install on the source site, click Run Export, drop the ZIP into a fresh FrontPress install.
► Post Types ✓ posts → blog ✓ page → pages ✓ docs → docs ► Taxonomies ✓ categories, tags ► ACF fields ✓ 12 groups detected ► Media ✓ per-post folders $ click "Run Export" ● Converting 248 posts to Markdown ● Collecting 1,432 media files ● Writing site/content/… ● Packaging frontpress-export.zip ✓ Download ready · 38.2 MB
-
Clean Markdown out
WordPress HTML becomes properly formatted Markdown with YAML front matter — headings, lists, code blocks, links, images all preserved.
-
ACF and meta, fully typed
Full Advanced Custom Fields support — text, numbers, booleans, dates, repeaters, groups, flexible content, and media fields all export with proper types.
-
Media comes along
Featured images, inline images, gallery and file fields are collected into per-post folders. URLs are rewritten to local paths so nothing 404s.
-
Multisite networks
Export entire WordPress networks at once. Per-subsite configuration is respected; the output layout matches FrontPress's
/:folder/:slugrouter.
Built in the open. Funded by you.
FrontPress is independent — no VC, no corporate sponsor. Every release is paid for by the people who use it. If FrontPress saves you a deploy, a database bill, or just an afternoon, consider sponsoring its development. Backers get credited in the changelog (opt-in).
Start writing in five minutes.
Download the zip, drop it on your host, sign in at /admin. There's no step three.