https://github.com/halilcosdu/laravel-command-banner
★ Laravel Command Banner: Prevents commands from running in defined environments
https://github.com/halilcosdu/laravel-command-banner
artisan block command-line environmens laravel php
Last synced: 5 months ago
JSON representation
★ Laravel Command Banner: Prevents commands from running in defined environments
- Host: GitHub
- URL: https://github.com/halilcosdu/laravel-command-banner
- Owner: halilcosdu
- License: mit
- Created: 2024-05-11T20:11:19.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-08-12T09:44:40.000Z (11 months ago)
- Last Synced: 2025-10-01T19:22:44.296Z (9 months ago)
- Topics: artisan, block, command-line, environmens, laravel, php
- Language: PHP
- Homepage:
- Size: 37.1 KB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# ★ Laravel Command Banner: Prevents commands from running in defined environments
[](https://packagist.org/packages/halilcosdu/laravel-command-banner)
[](https://github.com/halilcosdu/laravel-command-banner/actions?query=workflow%3Arun-tests+branch%3Amain)
[](https://github.com/halilcosdu/laravel-command-banner/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[](https://packagist.org/packages/halilcosdu/laravel-command-banner)
The "Laravel Command Banner" is a package designed to provide control over the execution of artisan commands in different environments. It allows developers to define which commands should be prevented from running in specific environments, enhancing the security and stability of the application. The package works by listening to the CommandStarting event in Laravel. When a command is about to start, it checks the package's configuration to see if the command is allowed to run in the current environment. If the command is not allowed, it outputs an error message and stops the execution of the command. This package is particularly useful in scenarios where certain commands can have destructive effects if run in the wrong environment, such as a production environment. By using this package, developers can ensure that such commands are only run in safe environments, such as local or staging environments.
## Installation
You can install the package via composer:
```bash
composer require halilcosdu/laravel-command-banner
```
You can publish the config file with:
```bash
php artisan vendor:publish --tag="command-banner-config"
```
This is the contents of the published config file:
You can add as many environments and different commands to the configuration file as you need.
The package will prevent the commands listed in the configuration file from running in the specified environments.
```php
env('COMMAND_BANNER_ENABLED', true),
'environments' => [
'production' => [
'db:wipe',
'migrate:fresh',
],
'staging' => [
// 'db:show'
],
],
];
```
### Example Screen
## Testing
```bash
composer test
```
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
## Security Vulnerabilities
Please review [our security policy](../../security/policy) on how to report security vulnerabilities.
## Credits
- [Halil Cosdu](https://github.com/halilcosdu)
- [All Contributors](../../contributors)
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.