
A fast, flexible, file-based content management system built with modern PHP.
Ava CMS is a modern flat-file CMS for people who want a website they can understand, move, scale and keep.
Your content lives on disk as plain files, not rows in a database or records in a proprietary system. Create a Markdown file and you have a page. Edit it, refresh your browser, and itβs live.
Your site stays readable, portable, and fully yours. No proprietary formats. No hidden layers. Just files in, website out.
your-site/
βββ app/ # Your code
β βββ config/ # Configuration (site settings, content types, taxonomies, users)
β βββ plugins/ # Enabled plugins
β βββ snippets/ # Reusable HTML/PHP content blocks
β βββ themes/ # Your HTML/PHP templates
βββ content/ # Your content
β βββ pages/ # Your Markdown content
β βββ ... # Other content types (posts, products, etc)
βββ core/ # Ava CMS code
βββ public/ # Web root, public files
β βββ media/ # Uploaded media (images, videos, etc)
βββ storage/ # Cache and logs
βββ vendor/ # Minimal Composer dependencies
βββ ava # CLI tool
Ava CMS is not a βone-clickβ CMS, and it doesnβt try to be. It trades heavy admin interfaces and complex deployment pipelines for speed, clarity, and control. If youβre comfortable editing files, writing a little HTML, and checking documentation β or want a CMS that grows with you as you learn β Ava fits naturally into your workflow.
- π Markdown & HTML β Write fast in Markdown, drop into HTML when you need total control.
- β‘ Instant feedback β No complicated build steps or deploy queue. Edit a file, refresh, done with automatic indexing.
- π¨ Design freedom β Plain PHP templates with standard HTML/CSS. Ava CMS stays out of your way.
- π§© Flexible content modeling β Define blogs, portfolios, events, catalogs, or anything else using custom content types and fields.
- π Dynamic features without bloat β Search, filtering, pagination and sorting work out of the box.
- π οΈ Power when you want it β A CLI, plugin system, and hooks keep put advanced features at hand.
- π Seamless scaling β Switch engines with a single setting, optional SQLite keeps sites with tens of thousands of posts snappy.
- π€ LLM-friendly β Clear files, detailed docs, and a smooth CLI make Ava CMS + AI tools a great pair to help you build themes and plugins.
- Content types, custom fields and taxonomies for modeling your site your way
- Optional admin dashboard for structured content editing and site monitoring
- Smart routing based on your content structure or configured patterns
- Shortcodes and snippets for reusable dynamic blocks inside Markdown
- Search across your content with configurable weighting
- Plugins + hooks (with bundled plugins like sitemap, redirects, and feeds)
- CLI tool for everyday tasks (cache, users, diagnostics, and more)
- SEO features like customisable meta tags, sitemaps, and clean URLs
- Caching (two-tier content indexing + configurable full-page caching for static-speed delivery)
- Write β Create Markdown files in
content/. - Index β Ava CMS automatically scans your files and builds fast indexes.
- Render β Your theme turns that content into HTML.
You choose how you work: edit directly on your server (SFTP/SSH), work locally and upload, use Git, or mix and match. Ava CMS doesnβt lock you into a workflow, it adapts to yours.
- PHP 8.3+
- Composer
Optionally, for better performance and features:
igbinaryPHP extension for faster indexing and cachinggdorimagickPHP extension for image processing
Only faster for massive sites (~10,000+ items) or very low memory environments:
pdo_sqlitePHP extension (see benchmarks)
Thatβs it! Ava CMS is designed to run happily whether it's on modest shared hosting, a scalable VPS, powerful cloud infrastructure or just your local machine and works well with most web servers (Apache, Nginx, Caddy, etc).
β οΈ Always install from an official release. Do not clone the repository directlyβthe main branch may contain incomplete or unstable work-in-progress code.
Option A: Download a release
- Download the latest release: https://github.com/avacms/ava/releases
- Extract it into a folder on your machine or server
Option B: GitHub CLI (gh)
mkdir -p /tmp/ava-release && cd /tmp/ava-release
gh release download -R avacms/ava --pattern '*.zip' --clobber
unzip -q ./*.zip -d /path/to/your/site
cd /path/to/your/site
composer installThen configure your site by editing app/config/ava.php and visit your site.
Edit your site settings in app/config/ava.php.
Start the built-in PHP development server if you want to run Ava CMS locally:
./ava start
# or
php -S localhost:8000 -t publicVisit http://localhost:8000.
Add a new page by creating a Markdown file in content/pages/.
File: content/pages/hello-world.md
---
title: Hello World
status: published
---
# Welcome to Ava CMS!
This is my first page. It's just a text file.Visit http://localhost:8000/hello-world to see it live.
Documentation lives at https://ava.addy.zone/.
- Getting Started
- Hosting
- Configuration
- Updating
- Admin Dashboard
- Content
- Fields
- Theming
- CLI
- API
- Plugin Development
- Showcase
Ava CMS includes a simple hook-based plugin system, and theming is just PHP templates. A few plugins are bundled in this repo (like sitemap, redirects, and a feed plugin) so you can see the pattern and ship common features quickly.
- Community plugins: https://ava.addy.zone/plugins
- Community themes: https://ava.addy.zone/themes
Ava CMS is designed to be blazing fast, whether you have 100 pages or 100,000:
- Tiered caching: avoid repeating expensive work on every request.
- Page caching (optional): serve cached HTML to bypass PHP for most visitors.
- Switchable engines: use the default binaries for best performance on most sites or seamlessly switch to SQLite for massive sites or low-memory environments.
See https://ava.addy.zone/docs/performance
If youβd like to contribute core code, open an issue first so we can agree on approach and scope. You can submit your own plugins, themes and websites directly to the docs showcase.
Feedback and suggestions are always welcome! If you're trying Ava and face any friction, please open an issue or join the Discord and let us know.
- Bugs, questions, and ideas: https://github.com/avacms/ava/issues
- Chat & support: https://discord.gg/fZwW4jBVh5
- Community themes: https://ava.addy.zone/themes
- Community plugins: https://ava.addy.zone/plugins
- Sites built with Ava: https://ava.addy.zone/showcase
Ava CMS is provided as free, open-source software without warranty (GNU General Public License). It is under active development and may contain bugs or security issues. You are responsible for reviewing, testing, and securing any deployment.
Copyright (c) 2025-2026 Adam Greenough
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
