Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Command Banner Laravel Package

halilcosdu/laravel-command-banner

View on GitHub
Deep Wiki
Context7

★ Laravel Command Banner: Prevents commands from running in defined environments

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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:

composer require halilcosdu/laravel-command-banner

You can publish the config file with:

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

return [
    'enabled' => env('COMMAND_BANNER_ENABLED', true),
    'environments' => [
        'production' => [
            'db:wipe',
            'migrate:fresh',
        ],
        'staging' => [
            //   'db:show'
        ],
    ],
];


Example Screen

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
andydefer/laravel-actions
aimeos/prisma
besmartand-pro/php-quality-config
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor