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 asked you for.
If it ran unattended in development — CI, a script, composer --no-interaction —
it uses this demo account:
admin@example.tld
p@ssword
Change the development password before exposing the site. An unattended production install instead prints a random temporary password once and requires you to change it at first login.
- 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 with 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 |
| Advanced Main Image | Choose each page's main image format, up to a hero |
| API | Token-authenticated REST mirror of the admin, for scripts and agents |
| Block editor | Write in blocks, stored as Markdown |
| Conversation | Contact form, comments, any user input |
| Flat | Write pages as Markdown files, synced with the database |
| Page Scanner | Find dead links, 404s and redirects |
| Static Generator | Export the site as static files |
| Template Editor | Edit Twig views from the admin |
| Version | Keep every past revision of a page |
Add more as you need them — search, newsletter, quizzes:
composer req pushword/search
composer req pushword/newsletterThe full list is on pushword.piedweb.com/extensions.
AGENTS.md at the root tells an agent how this project is laid out and points it at
vendor/pushword/docs/AGENTS.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.