This is a fresh Pushword install — a modular CMS built on Symfony, where content is Markdown + Twig and every feature is its own bundle.
Replace this README with your own once the site is yours.
php -S 127.0.0.1:8004 -t public/
# or, with the Symfony CLI
symfony server:start -dA Caddyfile is included if you prefer FrankenPHP, which also
runs Pushword in worker mode.
Open /admin with the account the installer created:
admin@example.tld
p@ssword
Change it right away — from the admin, or with
php bin/console pw:user:create you@example.com 'your-password' ROLE_SUPER_ADMIN.
- Name your site —
config/packages/pushword.yamlholds hosts, locales and templates.php bin/console pw:newadds another site to it. - Write a page — from
/admin, or as Markdown files if you install Flat. - Make it yours — override the Twig views in
templates/, see themes. - Delete the demo content — the pages and media that came with the install are examples, not a starting point.
| Admin | Manage pages, media and users |
| Block editor | Write in blocks, stored as Markdown |
| Page Scanner | Find dead links, 404s and redirects |
| Static Generator | Export the site as static files |
| Template Editor | Edit Twig views from the admin |
Add more as you need them — versioning, search, flat files, comments, newsletter:
composer req pushword/version
composer req pushword/searchThe full list is on pushword.piedweb.com/extensions.
AGENTS.md at the root (symlinked as CLAUDE.md) tells an agent how this project is laid
out and points it at vendor/pushword/docs/CLAUDE.md, Pushword's own reference. Fill in
its About this site section — that is the part no agent can infer from the code.
composer update- Documentation — pushword.piedweb.com
- Questions and bugs — github.com/Pushword/Pushword/issues
- Support the project — Liberapay, or a star on GitHub
Pushword is MIT licensed. See the license.