A simple and powerful content-driven static site generator.
Cecil is a command-line PHP application that merges Markdown pages, media and Twig templates to generate a static website.
π Website Β· π Documentation Β· π¨ Themes Β· β¨ Showcase Β· π° News Β· π Issues Β· π¬ Discussions
- Fast & secure: no database, no server-side code, static files offer a minimal attack surface
- Files only: content is stored in flat Markdown files with a front matter
- Customizable: powered by Twig templates, with themes support
- Multiple generators: pagination, taxonomies, sitemap, RSS feeds, robots.txt and redirects are generated automatically
- Image optimization: responsive images, WebP and AVIF conversion, compression
- Assets processing: compile, minify and fingerprint CSS and JavaScript
- Multilingual: content localization and template translation
- SEO-friendly: meta tags, Open Graph, X (Twitter) cards and structured data
- No installation: download a single file and run it with PHP
- Easy to deploy: in minutes on Netlify, Vercel, statichost and others
- Open source: licensed under EUPL-1.2 and developed on GitHub
Requirements: PHP 8.3+ and a terminal.
-
Download Cecil
curl -LO https://github.com/Cecilapp/Cecil/releases/latest/download/cecil.phar
-
Create a new site (in an empty directory containing
cecil.phar)php cecil.phar new:site
-
Add a page, then edit it in
pages/php cecil.phar new:page
-
Preview at
http://localhost:8000php cecil.phar serve
-
Build and copy the content of the
_sitedirectory to any web serverphp cecil.phar build
Read the Quick Start documentation page for more details.
Or start from a starter kit and deploy a ready-to-use blog in one click:
Download cecil.phar from your terminal:
curl -LO https://github.com/Cecilapp/Cecil/releases/latest/download/cecil.pharOther installation methods:
- Homebrew:
brew install cecilapp/tap/cecil - Scoop:
scoop install https://cecil.app/scoop/cecil.json - Standalone binaries (no PHP required):
cecil-linux-x64,cecil-macos-arm64,cecil-windows-x64.exe, etc. - Download page (all releases)
See the Installation documentation page.
Common commands:
php cecil.phar help # Get help
php cecil.phar new:site # Create a new website
php cecil.phar new:page # Create a new page
php cecil.phar serve # Preview your website locally
php cecil.phar build # Build your website
php cecil.phar doctor # Diagnose your site configurationSee the Commands documentation page.
See Contributing.
Thanks goes to these wonderful people:
This project follows the all-contributors specification (emoji key). Contributions of any kind welcome!
npm install -g all-contributors-cli
npx all-contributors add
npx all-contributors generateInstall dependencies:
composer installRun all quality checks:
composer codeRun individual checks:
composer code:analyse
composer code:style
composer test
composer test:cliBuild the PHAR file (dist/cecil.phar) with Box:
# Install Box globally
composer global require humbug/box
export PATH=~/.composer/vendor/bin:$PATH
# Build the PHAR file
composer run build:pharBuild standalone binaries (dist/build/) from the PHAR file with phpacker:
# Install phpacker globally
composer global require phpacker/phpacker
export PATH=~/.composer/vendor/bin:$PATH
# Build the PHAR file first (see above), then the binaries
composer run build:phar
composer run build:packagephpacker requires the PHP
zipextension and enough memory to load each PHP binary (~80 MB): setmemory_limit = -1if the build stops with an "Allowed memory size exhausted" error.
Build the API documentation with phpDocumentor:
# Download phpDocumentor PHAR
curl -Lo phpdoc https://phpdoc.org/phpDocumentor.phar
# Build the API documentation
php phpdocTo release a new version, create a new Git tag with the version number (e.g. 1.0.0), push it to GitHub and the release will be automatically published by GitHub Actions.
git tag 1.0.0
git push origin 1.0.0Tip
To create a pre-release, add a suffix to the version number (e.g. 1.0.0-beta.1).
The automated workflow also will publish the release to the website, update the Homebrew formula and the Scoop manifest.
Cecil ships with an agent skill that teaches AI coding agents (GitHub Copilot, Claude Code, Cursor, etc.) how to build and configure Cecil sites, and a theme skill dedicated to creating and packaging Cecil themes.
Install the skills in your project with npx skills, which detects your coding agents and adds the skills where they expect them:
npx skills add cecilapp/cecilOr, with Claude Code, as a plugin:
/plugin marketplace add Cecilapp/claude-plugins
/plugin install cecil@cecil
Once installed, ask your agent to create, build, configure, or deploy a Cecil site and it will use the skill automatically.
See the AI documentation for more details, including how to generate a llms.txt file and Markdown versions of your pages.
Β Β Β Β Β Β Β Β

Β Β Β Β Β Β Β Β 

Cecil is a free software licensed under the EUPL-1.2 license.
The Cecil documentation is available under the Creative Commons Attribution 4.0 license.
Libraries used by Cecil are subject to their respective licenses (run composer licenses).
Cecil Β© Arnaud Ligny
Logo Β© CΓ©cile Ricordeau

