The official starter application for AssegaiPHP. It tracks the same project shape and defaults produced by the current assegai new command.
The starter declares Core ^0.10.0 and intentionally does not ship a composer.lock. Creating or installing a project therefore resolves the newest stable compatible 0.10.x framework release and writes a lock file owned by that application.
It gives you a working Assegai app with:
- a root module in
src/AppModule.php - a controller and service in
src/ - project settings in
assegai.json - shared app config in
config/default.php - authentication and session policy in
config/auth.php - sensitive overrides in
config/secure.php
- PHP 8.4+
- Composer 2.x
Create a new project from this starter:
composer create-project assegaiphp/starter my-app
cd my-appIf you cloned the repository instead, install its dependencies:
composer installInstallation creates local .env and config/secure.php files from their tracked examples without overwriting existing local configuration.
Then start the app:
assegai serveYou can also use the project Composer script if you prefer:
composer run startRun the test suite:
assegai testGenerate a new feature:
assegai generate resource moviesConfigure a database:
assegai database:configure cinema_dbAdd ORM support when you need the data layer:
assegai add ormThe default local runtime uses PHP's built-in server.
If you want to try the long-lived runtime path, you can use OpenSwoole:
assegai serve --runtime=openswooleThe OpenSwoole path is currently experimental. Treat it as an opt-in runtime for careful testing, not a required switch for every app.
src/AppModule.php: the root module for your appsrc/AppController.php: a starter controllersrc/AppService.php: a starter serviceconfig/default.php: shared app configurationconfig/auth.php: authentication redirect policy and framework-owned session settingsconfig/secure.php.example: tracked template for local secrets and database credentialsconfig/secure.php: ignored local overrides created during setup; it takes precedence over the lower-priority config files when presentassegai.json: Assegai project settings, scripts, runtime config, and CLI behaviorindex.php: front controller and safe public-asset router for the PHP runtimebootstrap.php: runtime-neutral application bootstrap
- Guide: https://assegaiphp.com/guide
- Support: https://assegaiphp.com/support
- Website: https://assegaiphp.com
This project is released under the MIT License.
