The source of pestphp.com — the marketing site and documentation for Pest, the testing framework PHP developers and their agents love to reach for.
Two front-ends live in one Laravel app:
- Landing page (
/) — a standalone static Vite project inresources/www/(HTML + Tailwind v4 + Alpine). It builds topublic/www/and is served from there. - Documentation (
/docs/{page}) — Laravel + Blade rendered from the markdown inresources/docs/{version}/, mirrored from pestphp/docs.
Know which one you're touching before you edit — they share no build tooling, CSS, or JS.
These steps assume you serve the site with Laravel Valet out of ~/Sites.
- Fork this repository.
- Clone your fork, dropping your username into the
{username}slot:cd ~/Sites git clone https://github.com/{username}/pestphp.com pestphp.com cd pestphp.com
- Run the setup script. It installs Composer and npm dependencies, generates your
.env, pulls the docs branches, and builds both front-ends:./bin/setup.sh
The site is now live at http://pestphp.com.test.
Iterate on the landing page with its own dev server:
cd resources/www && npm run devThe / route serves the built artifact (public/www/index.html), so run npm run build from resources/www/ before your changes show up at /.
The syncing a fork guide covers pulling the latest changes into your fork. After you pull upstream changes, refresh dependencies, docs branches, and builds in one step:
./bin/update.shContributions are welcome. See CONTRIBUTING.md before opening a pull request. To edit the documentation content itself, head to pestphp/docs.
We cannot thank our sponsors enough for funding Pest's development — their support is what keeps it moving. Want to join them? Support Nuno Maduro's work at github.com/sponsors/nunomaduro.
pestphp.com is open-sourced software licensed under the MIT license.
