sympress / runtime
Composer-driven WordPress setup, environment configuration and deployment tools.
Package info
Type:composer-plugin
pkg:composer/sympress/runtime
Requires
- php: ^8.5
- composer-plugin-api: ^2.6
- composer/composer: ^2.10.3
- composer/semver: ^3.4
- opis/json-schema: ^2.6
- symfony/console: ^8.1
- symfony/dependency-injection: ^8.1
- symfony/dotenv: ^8.1
- symfony/event-dispatcher: ^8.1
- symfony/filesystem: ^8.1
- symfony/http-client: ^8.1
- symfony/process: ^8.1
Requires (Dev)
- phpunit/phpunit: ^13.0
- sympress/kernel: ^1.1.0
- sympress/qa: ^0.1.0
Suggests
- sympress/kernel: Enables runtime diagnostics, validation and environment dumps through wp console.
Provides
None
Conflicts
Replaces
None
- 1.x-dev
- dev-main / 1.1.x-dev
- v1.1.1
- v1.1.0
- v1.0.0
- v1.0.0-rc.1
- v1.0.0-beta.2
- v1.0.0-beta.1
- v0.2.0
- v0.1.0
- dev-fix/macos-fixture-cleanup
- dev-release/1.1.1
- dev-fix/diagnostic-help
- dev-fix/console-help
- dev-chore/1.1-development
- dev-release/1.0.0
- dev-release/1.0.0-rc.1
- dev-fix/empty-project-install
- dev-docs/v1-beta-evidence
- dev-v1/stable-contract
- dev-release/0.2.0
- dev-refactor/runtime-binary
- dev-feat/production-operations
- dev-release/0.1.0
- dev-fix/review-findings
- dev-phase-6-compatibility-migration
- dev-phase-5-kernel-integration
- dev-phase-4-extension-lifecycle
- dev-phase-3-default-steps
- dev-phase-2-wordpress-runtime
- dev-phase-1-foundation
This package is auto-updated.
Last update: 2026-09-30 21:48:22 UTC
README
Set up a Composer-managed WordPress site and configure it for each environment.
Runtime generates wp-config.php, the front controller, the MU-plugin loader and
WP-CLI configuration from your project's settings. It reads environment variables,
publishes project plugins and themes, and runs your setup steps after Composer
install or update. The same setup is available as a standalone command.
Why use it?
- Keep WordPress core, plugins, themes and PHP libraries in one Composer project.
- Use different database credentials and settings in development, staging and production.
- Regenerate configuration without losing salts or your managed PHP sections.
- Add project-specific setup with dependency-injected steps and lifecycle events.
- Build private environment dumps and deploy a runtime that can operate on a read-only filesystem.
- Use WPackagist, private packages and local packages with their normal Composer installers.
Runtime does not require the SymPress kernel. If your application uses it, the
kernel integration adds diagnostics, environment dumps
and explicit cache maintenance to wp console.
Requirements
PHP 8.5 or newer, Composer 2.10.3 or newer with plugin API 2.6 or newer, and a Composer-managed WordPress installation. Composer resolves Runtime's Symfony 8.1 dependencies. WordPress and your application may require additional PHP extensions.
PHP 8.5 is the intentional baseline for the 1.x contract. PHP 8.4 and older are
not supported. Install a tagged release and commit the resolved lockfile. The
package is available from Packagist;
no Runtime-specific repository or read credentials are required.
Use sympress/runtime:^1.0 for the stable 1.x line. Review the
1.0 upgrade notes before updating an existing site.
The compatibility policy defines the effective 1.x contract for the public PHP API, configuration, commands and persisted formats. Breaking a supported interface requires 2.0. See the platform table for requirements and verification scope.
Start here
For a new site, follow Getting started. It includes a complete Composer example, environment setup and the expected directory layout. For an existing site, start with Adopting Runtime.
Once Runtime is installed, run these commands from your project root:
The executable is runtime, as introduced in 0.2.0. When upgrading from 0.1.0,
update shell and CI scripts to use this name; see Command line.
vendor/bin/runtime validate vendor/bin/runtime --list-steps vendor/bin/runtime --no-interaction vendor/bin/runtime doctor
Composer install and update already run setup when the plugin is enabled. The standalone command is useful for a deliberate rerun or a build with plugins disabled.
Documentation
| I want to… | Read |
|---|---|
| Understand how the pieces fit together | Overview |
| Create a site | Getting started |
| Change a setting | Configuration · Settings cheat sheet |
| Configure WordPress for an environment | Environment · Constants reference |
| Customize generated PHP | wp-config and sections |
| Choose what runs during setup | Steps · Command line |
| Add project automation | Custom steps and services · WP-CLI |
| Build a supported extension | Public API · Compatibility policy |
| Prepare a production release | Deployment |
| Diagnose a problem | Troubleshooting |
Alternatives and existing projects
WP Starter is an alternative for Composer-managed WordPress setup. Runtime retains an optional compatibility layer for existing projects; its names, profiles and migration behavior are documented separately in Compatibility. The layer is deprecated, supported throughout 1.x and scheduled for removal in 2.0. The parity matrix records the compatibility comparison.
Contributing and security
Read CONTRIBUTING for local development and verification, and SECURITY to report a vulnerability privately. Internal evidence and design decisions live in the maintainer documentation.
Licensed under GPL-2.0-or-later. Third-party attribution is in NOTICE.