adiachenko / starter-laravel-app
The skeleton application for the Laravel framework.
Package info
github.com/adiachenko/starter-laravel-app
Type:project
pkg:composer/adiachenko/starter-laravel-app
Requires
- php: ^8.4
- laravel/framework: ^13.0
Requires (Dev)
- driftingly/rector-laravel: ^2.1
- fakerphp/faker: ^1.23
- larastan/larastan: ^3.9
- laravel/boost: ^2.1
- laravel/pail: ^1.2.2
- laravel/pint: ^1.30
- laravel/tinker: ^3.0
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- pestphp/pest: ^4.3
- pestphp/pest-plugin-laravel: ^4.0
- rector/rector: ^2.3
README
What's Different from the Official Laravel Starter
- Evergreen PHP baseline supporting the 2 latest stable versions.
- Strict types enforced by Pint.
- Lean, API-friendly boilerplate.
- Immutable dates.
- Stricter Eloquent defaults catch lazy loading and missing attributes early.
- Models are unguarded by default because policing request input is not their job.
- Tooling is already wired: Pest, PHPStan, and Rector.
- Consistent formatting with Pint for PHP and Prettier for everything else.
- Tinker is kept out of production dependencies by default.
- Improved testing setup with clearer conventions for agents.
- Laravel Boost is preconfigured, with sensible .gitignore and project-owned
.aiguidelines taking priority. - SQLite is the default for a minimal, easily customizable database setup.
Installation
Create application (replace example-app with desired project name):
composer create-project adiachenko/starter-laravel-app --prefer-dist example-app
Keep in mind that
composer create-projectalready does most of the setup for you. It will install dependencies, create .env file, generate app key, and prompt you to configure Laravel Boost.
Navigate to your project and complete the setup:
cd example-app # Initialize git repo git init sh install-git-hooks.sh # Optionally, scaffold API routes with Sanctum or Passport (add --passport flag) php artisan install:api
Installed Git hooks:
pre-commitrunscomposer format:checkpre-pushrunscomposer analyse
If you use Fork, set Fork → Preferences → Git → Env mode to System Shell (details) for Git hooks to work correctly.
Development Commands
Run the main development checks with:
composer test— run the default test suites.composer format— format files.composer analyse— run static analysis.
Additional scripts for external test suite, refactoring, mutation testing, coverage, and Laravel Herd are available in composer.json. Mutation testing and coverage require Xdebug in coverage mode or enabled PCOV.
Testing Guidelines
See the testing guidelines for test organization, conventions, and execution.
Editor Setup (Optional)
VSCode/Cursor
VSCode and Cursor automatically load the shared configuration from .vscode/ and suggest the recommended extensions for installation. The config does not prescribe a PHP language server, so install whichever extension you prefer.
Zed
Zed automatically loads the shared settings from .zed/settings.json.
Suggested extensions have to be installed manually: EditorConfig, PHP, Laravel.
The config does not prescribe a PHP LSP, so configure whichever you prefer in Zed user settings.
PhpStorm
Recommended setup for consistent formatting:
Settings | Editor | Code Style: ensure "Enable EditorConfig support" is checked.Settings | PHP | Quality Tools | Laravel Pint: set "Path to pint.json" topint.jsonand select "defined in pint.json" as the rulesetSettings | PHP | Quality Tools: set Laravel Pint as external formatterSettings | Tools | Actions on Save: enable reformat on saveSettings | Languages & Frameworks | JavaScript | Prettier: use automatic config, enable "Run on save", and prefer Prettier config. Includemdin Prettier file extensions.