This repository is intended to be used as a GitHub template for new SymPress-based WordPress websites.
For the project creation flow, see Installation.
DDEV is the canonical local runtime. The default project is configured as:
- Project name:
sympress-starter - URL:
https://sympress-starter.ddev.site - Project TLD:
ddev.site - PHP:
8.5 - Database: MariaDB
11.8 - Web server: nginx-fpm
- Docroot:
public
After creating a real project from the template, run:
bin/console setup my-projectFor manual setup, configure DDEV directly:
ddev config --project-name=my-project --project-tld=ddev.site --project-type=php --docroot=public --webserver-type=nginx-fpmThen create .env from the example and update the project URL values:
cp .env.example .envWP_HOME=https://my-project.ddev.site
WP_SITEURL=${WP_HOME}/wpRun the setup from the project root:
bin/console setup my-projectbin/console setup configures DDEV, starts the project, and runs Composer inside DDEV. Composer triggers WPStarter. WPStarter checks the database and, on a fresh install, creates WordPress with the site title from dev-ops/orchestrate.php.
Default local credentials:
- Username:
admin - Password: generated during
bin/console setupor set throughWP_ADMIN_PASSWORD
You can override these with WP_ADMIN_USERNAME and WP_ADMIN_PASSWORD.
The starter keeps opinionated behavior disabled by default:
SYMPRESS_ENABLE_WORDPRESS_HARDENING=false
SYMPRESS_ENABLE_VARDUMPER=falseSet SYMPRESS_ENABLE_WORDPRESS_HARDENING=true to enable the cleanup and hardening hooks in packages/base-mu-plugins/disable.php.
SYMPRESS_ENABLE_VARDUMPER enables the Symfony VarDumper integration in local development only. It is ignored outside WORDPRESS_ENV=development.
Starter-owned code lives in packages/base-mu-plugins under the SymPress\Starter namespace. Project-specific packages should use their own package name and namespace instead of reusing the starter namespace.
Recommended package naming:
vendor/project-feature
Recommended namespace pattern:
Vendor\Project\Feature
Use these commands when changing local runtime settings:
ddev start
ddev composer install
ddev exec wp --info
ddev exec wp core is-installed
ddev exec wp db check
bin/console check
bin/console doctor
curl -k -I https://my-project.ddev.siteFor a browser check:
ddev launch- Confirm
.env.examplecontains the intended starter defaults. - Do not commit
.envor.env.cached.php. - Keep secrets out of
.env.example. - Make sure generated runtime directories such as
public/,vendor/, andvar/cache/are ignored unless intentionally committed. - Run
ddev startand at least one WP-CLI smoke test. - Run
ddev composer qaandddev composer audit.