Development
Local development needs a Rust toolchain, Make, PHP, PHP development headers, and SQLite development libraries.
Build
Build the production runtime bundle and binary:
make distmake forkpressmake dist builds the production static PHP runtime. make forkpress embeds
that runtime and the PHP/WordPress assets into the production Rust binary.
Test
Run Rust tests:
cargo test --workspace --exclude forkpress-cliFORKPRESS_RUNTIME_BUNDLE=/dev/null cargo test -p forkpress-cliRun PHP tests:
make test-allDocumentation site
The documentation site is an Astro Starlight project at the repository root.
npm installnpm run devnpm run validatenpm run validate runs Astro checks, documentation tests, and the static site
build.
Releases
Release automation is documented in Releases. In short:
Release: prepareupdates release metadata and opens a release PR.Release: verifybuilds and smoke-tests release artifacts before merge.Release: publishrebuilds from the merge commit, creates the GitHub release, and updates Homebrew for stable releases.