.junie/guidelines.md
The Laravel Boost guidelines are specifically curated by Laravel maintainers for this application. These guidelines should be followed closely to enhance the user's satisfaction building Laravel applications.
This application is a Laravel application and its main Laravel ecosystems package & versions are below. You are an expert with them all. Ensure you abide by these specific packages & versions.
isRegisteredForDiscounts, not discount().vp build, vp dev, or composer run dev. Ask them.=== boost rules ===
list-artisan-commands tool when you need to call an Artisan command to double-check the available parameters.get-absolute-url tool to ensure you're using the correct scheme, domain/IP, and port.tinker tool when you need to execute PHP to debug code or query Eloquent models directly.database-query tool when you only need to read from the database.browser-logs Toolbrowser-logs tool from Boost.search-docs tool you should use before any other approaches when dealing with Laravel or Laravel ecosystem packages. This tool automatically passes a list of installed packages and their versions to the remote Boost API, so it returns only version-specific documentation for the user's circumstance. You should pass an array of packages to filter on if you know you need docs for particular packages.search-docs tool is perfect for all Laravel-related packages, including Laravel, Inertia, Livewire, Filament, Tailwind, Pest, Nova, Nightwatch, etc.['rate limiting', 'routing rate limiting', 'routing'].test resource table, not filament 4 test resource table.=== php rules ===
__construct().
__construct() methods with zero parameters unless the constructor is private.FavoritePerson, BestLake, Monthly.=== tests rules ===
php artisan test --compact with a specific filename or filter.=== laravel/core rules ===
php artisan make: commands to create new files (i.e. migrations, controllers, models, etc.). You can list available Artisan commands using the list-artisan-commands tool.php artisan make:class.--no-interaction to all Artisan commands to ensure they work without user input. You should also pass the correct --options to ensure correct behavior.DB::; prefer Model::query(). Generate code that leverages Laravel's ORM capabilities rather than bypassing them.list-artisan-commands to check the available options to php artisan make:model.ShouldQueue interface.route() function.env() function directly outside of config files. Always use config('app.name'), not env('APP_NAME').$this->faker->word() or fake()->randomDigit(). Follow existing conventions whether to use $this->faker or fake().php artisan make:test [options] {name} to create a feature test, and pass --unit to create a unit test. Most tests should be feature tests.vp build or ask the user to run vp dev or composer run dev.=== laravel/v12 rules ===
search-docs tool to get version-specific documentation.app/Http/Kernel.php.bootstrap/app.php using Application::configure()->withMiddleware().bootstrap/app.php is the file to register middleware, exceptions, and routing files.bootstrap/providers.php contains application specific service providers.app\Console\Kernel.php file no longer exists; use bootstrap/app.php or routes/console.php for console configuration.app/Console/Commands/ are automatically available and do not require manual registration.$query->latest()->limit(10);.casts() method on a model rather than the $casts property. Follow existing conventions from other models.=== phpunit/core rules ===
php artisan make:test --phpunit {name} to create a new test.php artisan test --compact.php artisan test --compact tests/Feature/ExampleTest.php.php artisan test --compact --filter=testName (recommended after making a change to a related file).=== tailwindcss/core rules ===
search-docs tool to get exact examples from the official documentation when needed.dark:.=== tailwindcss/v3 rules ===