https://github.com/rawilk/laravel-stubs
Opinionated modifications to the default Laravel stubs.
https://github.com/rawilk/laravel-stubs
laravel laravel-stubs
Last synced: about 1 year ago
JSON representation
Opinionated modifications to the default Laravel stubs.
- Host: GitHub
- URL: https://github.com/rawilk/laravel-stubs
- Owner: rawilk
- License: mit
- Created: 2022-09-30T14:12:50.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-12T02:40:12.000Z (about 1 year ago)
- Last Synced: 2025-06-10T21:58:49.859Z (about 1 year ago)
- Topics: laravel, laravel-stubs
- Language: PHP
- Homepage:
- Size: 114 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# laravel-stubs
[](https://packagist.org/packages/rawilk/laravel-stubs)

[](https://packagist.org/packages/rawilk/laravel-stubs)
[](https://packagist.org/packages/rawilk/laravel-stubs)
[](https://github.com/rawilk/laravel-stubs/blob/main/LICENSE.md)

This repo contains opinionated versions of the Laravel stubs. The most notable changes are:
- migrations don't have a `down` function
- controllers don't extend a base controller
- none of the model attributes are guarded
- use return type hints where possible
- most docblocks have been removed
- `declare(strict_types=1);` added to most files
## Installation
You can install the package via composer:
```bash
composer require rawilk/laravel-stubs --dev
```
If you want to keep your stubs up-to-date with every update, add this composer hook to your composer.json file:
```json
"scripts": {
"post-update-cmd": [
"@php artisan custom-stub:publish --force"
]
}
```
## Usage
You can publish the stubs using this command:
```bash
php artisan custom-stub:publish
```
## Usage in Packages
If you're developing a package, you may pull these stubs in to your package and generate them just like you would with a normal Laravel project. This is possible when used with [Orchestral Canvas](https://github.com/orchestral/canvas). On your package project, run the following command:
```bash
composer require --dev rawilk/laravel-stubs orchestra/canvas
```
Next you need to run:
```bash
composer exec canvas preset package
```
Finally, modify the generated `canvas.yaml` file:
```yaml
preset: Rawilk\Stubs\Canvas\Package
namespace: YourPackageNamespace
```
To generate a file, you can run the following command:
```bash
composer exec canvas make:migration CreatePostsTable --create
```
Running this would generate a migration normally, just like the `php artisan make:migration` command would. For more information on canvas, please refer to their documentation.
**Tip:** Create an alias for `composer exec canvas` in your profile to allow easier entering of your generator commands. I personally added the following alias to my bash profile:
```bash
alias canvas="composer exec canvas"
```
## Testing
```bash
composer test
```
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Contributing
Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.
## Credits
- [Randall Wilk](https://github.com/rawilk)
- [All Contributors](../../contributors)
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.