Local Development
The Pyle monorepo contains the packages, an embedded Laravel application, and the documentation site needed to develop and verify changes locally. The embedded application is the reference host used by the complete test suite.
Requirements
Before cloning Pyle, install:
- PHP 8.4 and Composer;
- Node.js 24 and npm; and
- Git.
Pest parallel execution is not reliable in native Windows shells. Use WSL when running parallel PHP suites on Windows.
Setting Up the Monorepo
Fork the Pyle repository, then clone your fork:
git clone https://github.com/YOUR-USERNAME/pyle.git
cd pyleInstall the root dependencies and the dependencies used by the Framework and embedded host application:
composer install
composer install --working-dir=packages/framework
composer install --working-dir=apps/laravel
npm ci --prefix packages/admin-panel
npm ci --prefix apps/laravelYou can now run the complete suite:
composer testUsing a Local Client Application
Use Composer path repositories when you need to exercise Pyle inside a separate Laravel application. Clone the monorepo beside that application or in a directory reserved for local packages, then add the packages you are changing to the application's composer.json:
{
"repositories": [
{
"type": "path",
"url": "../pyle/packages/framework",
"options": {
"symlink": true
}
},
{
"type": "path",
"url": "../pyle/packages/admin-panel",
"options": {
"symlink": true
}
}
]
}Require the package names used by your application and let Composer resolve them from the path repositories. A symlinked path repository reflects local package edits without copying files into vendor.
WARNING
Do not commit machine-specific path repositories to a shared application lock file unless the team intentionally uses the same local package layout.
Building the Documentation
Install and build the VitePress site when editing apps/docs:
npm ci --prefix apps/docs
npm run docs:build --prefix apps/docsThe production build checks page rendering, navigation, and internal links.