A PHP CLI static site builder that compiles Twig templates, Markdown, and YAML data into HTML (or any output format). Built on Laravel Zero. Replaces the panini site generator.
User-facing docs live in docs/ and are hosted at https://foundationcss.com/proton/.
app/Commands/— CLI commands (Build, Watch, Init, Data, Help)app/Proton/— Core classes (Config, Page, Builder, PageWriter, AssetManager, etc.)app/Proton/Settings/— Typed DTOs for configuration (Settings,Paths,Layouts)tests/— Pest PHP tests (Unit + Feature). Tests create temp fixtures viaTestFixturestrait.sample/— Example site for local development/testing withproton.ymlbuilds/proton— Compiled PHAR binary
- Run tests:
composer test - Run a single test:
composer test:filter SomeTest - Build PHAR:
bin/build.sh [version](uses Box to compile, falls back to latest git tag) - Run locally:
php proton <command> - Run all checks:
composer quality - Auto-fix all:
composer clean
Uses gitflow. develop is the main integration branch. Release branches merge into both main and develop.
- PHP 8.4+, PSR-12, PSR-4 autoloading (
App\→app/,Tests\→tests/) - Pest for testing
- Quality tools: PHP-CS-Fixer, PHPStan (level 8), PHPMD, PHP_CodeSniffer, Rector