Development Workflow
Everyday commands
Section titled “Everyday commands”| Command | What it does |
|---|---|
composer dev |
Starts the app and Vite together (php artisan dev). |
npm run dev |
Starts Vite only. |
npm run build |
Builds production assets. |
php artisan test --compact |
Runs the Pest suite. |
php artisan test --compact tests/Feature/UsersTest.php |
Runs one file. |
php artisan test --compact --filter="deletes a user" |
Runs one test by name. |
Quality gates
Section titled “Quality gates”CI (.github/workflows) runs a single command, and you can run the same thing locally:
composer ci:checkIt runs these, in order:
| Step | Command | Tool |
|---|---|---|
| Frontend lint and formatting | npm run check |
Vite+ (vp check: oxlint and the formatter) |
| TypeScript | npm run types:check |
tsc --noEmit |
| PHP style | composer lint:check |
Laravel Pint |
| Static analysis | composer types:check |
PHPStan / Larastan, level 7 |
| Tests | php artisan test |
Pest |
composer test runs the PHP half (Pint, PHPStan and the tests).
Fixing issues automatically
Section titled “Fixing issues automatically”npm run check:fix # frontend lint and formattingcomposer lint # PHP style (Pint)Formatting conventions
Section titled “Formatting conventions”The frontend formatter is configured in vite.config.ts: 4-space indentation, single quotes, semicolons, 80-column lines, and sorted Tailwind classes. A .prettierrc.json mirrors these settings so VS Code and Zed format the same way on save.
These are excluded from formatting and linting:
resources/js/components/ui/*: shadcn components, kept as upstream ships them.- Generated files (
access.generated.ts, Wayfinder output). - Laravel Boost files (
AGENTS.md,.agents/,.ai/), which Boost regenerates.
Code generators
Section titled “Code generators”Route helpers (Wayfinder)
Section titled “Route helpers (Wayfinder)”php artisan wayfinder:generate --with-formSee Typed Routes.
Role and permission constants
Section titled “Role and permission constants”php artisan tachi:typesRun this after changing app/Enums/Permission.php or app/Enums/RoleName.php. See Permissions.
AI assistants
Section titled “AI assistants”The kit ships with Laravel Boost guidelines (AGENTS.md), project rules in .ai/rules/, and a CLAUDE.md that describes the architecture. AI coding tools that read these files follow the kit’s conventions, such as using checkPermissionTo() and never editing generated files. Delete them if you don’t use AI tools.