PHPackages                             kozhinhikkodan-dev/artisan-playground - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. kozhinhikkodan-dev/artisan-playground

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

kozhinhikkodan-dev/artisan-playground
=====================================

A beautiful, secure, and feature-rich UI for executing Laravel Artisan commands with role-based access control, theme support, and comprehensive command management

v1.1.7(10mo ago)1830↓100%1MITBladePHP ^8.2CI failing

Since Jul 12Pushed 9mo agoCompare

[ Source](https://github.com/kozhinhikkodan-dev/artisan-playground)[ Packagist](https://packagist.org/packages/kozhinhikkodan-dev/artisan-playground)[ Docs](https://github.com/kozhinhikkodan-dev/artisan-playground)[ GitHub Sponsors](https://github.com/kozhinhikkodan-dev)[ RSS](/packages/kozhinhikkodan-dev-artisan-playground/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

Artisan Playground
==================

[](#artisan-playground)

A beautiful, secure, and feature-rich UI for executing Laravel Artisan commands with role-based access control, theme support, and comprehensive command management.

[![Artisan Playground](https://camo.githubusercontent.com/69dae1ef5645be24961b4d47a699fe4d51b845b017210b2773b874811e11e2e8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302532422d7265643f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c)](https://camo.githubusercontent.com/69dae1ef5645be24961b4d47a699fe4d51b845b017210b2773b874811e11e2e8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302532422d7265643f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c)[![PHP](https://camo.githubusercontent.com/5bf32de576356bddc67b10103f4f9e1ae0292c307c9bc33ec00e79e27fccc7bd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d626c75653f7374796c653d666f722d7468652d6261646765266c6f676f3d706870)](https://camo.githubusercontent.com/5bf32de576356bddc67b10103f4f9e1ae0292c307c9bc33ec00e79e27fccc7bd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d626c75653f7374796c653d666f722d7468652d6261646765266c6f676f3d706870)[![License](https://camo.githubusercontent.com/153acf9dff19deb8abfc598c53bac50a4ceae0f5c83a552711060d3d78d2c057/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e3f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/153acf9dff19deb8abfc598c53bac50a4ceae0f5c83a552711060d3d78d2c057/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e3f7374796c653d666f722d7468652d6261646765)[![GitHub Stars](https://camo.githubusercontent.com/a2b84a90d4c96e0cee32c335219441afbc79a766bcc414af0f2b8cb46d7a680e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6b6f7a68696e68696b6b6f64616e2d6465762f6172746973616e2d706c617967726f756e643f7374796c653d666f722d7468652d6261646765266c6f676f3d676974687562)](https://github.com/kozhinhikkodan-dev/artisan-playground/stargazers)[![Packagist Downloads](https://camo.githubusercontent.com/ef98937ccd9b5449515aa860a6aca8b938c7084927fd1940124b992e3bdfb553/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b6f7a68696e68696b6b6f64616e2d6465762f6172746973616e2d706c617967726f756e643f7374796c653d666f722d7468652d6261646765266c6f676f3d7061636b6167697374)](https://packagist.org/packages/kozhinhikkodan-dev/artisan-playground)[![Packagist Stars](https://camo.githubusercontent.com/bb65dc857e116a6ad67522ca5c4db9d703a0e62c471ca907d693a0610ce8cc72/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f73746172732f6b6f7a68696e68696b6b6f64616e2d6465762f6172746973616e2d706c617967726f756e643f7374796c653d666f722d7468652d6261646765266c6f676f3d7061636b6167697374)](https://packagist.org/packages/kozhinhikkodan-dev/artisan-playground)[![Latest Version](https://camo.githubusercontent.com/9d7487b838958cacf318e4c13e95bba473d8799602603c74e55e5d0b8bf7f5b8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b6f7a68696e68696b6b6f64616e2d6465762f6172746973616e2d706c617967726f756e643f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/kozhinhikkodan-dev/artisan-playground)

✨ Features
----------

[](#-features)

- 🎨 **Beautiful Bootstrap-based UI** with light and dark themes
- 🔐 **Role-based access control** with Spatie Laravel Permission
- 🌐 **IP-based restrictions** for enhanced security
- 👤 **Custom login credentials** or standard Laravel authentication
- 📊 **Command grouping** (Default, Custom, Dangerous, Database, Cache)
- ⚡ **Real-time command execution** with live output
- 📝 **Command history** with detailed logging
- 🚨 **Dangerous command warnings** and confirmation
- 🔍 **Command search** and filtering
- 📱 **Responsive design** for all devices
- 🎯 **Parameter validation** for all command arguments and options
- 📈 **Execution statistics** and performance metrics

🚀 Installation
--------------

[](#-installation)

### Requirements

[](#requirements)

- **PHP**: 8.2 or higher
- **Laravel**: 10.x, 11.x, 12.x, or higher
- **Spatie Laravel Permission**: 5.x or 6.x

### 1. Install the Package

[](#1-install-the-package)

```
composer require kozhinhikkodan-dev/artisan-playground
```

### 2. Publish Assets and Configuration

[](#2-publish-assets-and-configuration)

```
php artisan vendor:publish --tag=artisan-playground
```

### 3. Run Migrations

[](#3-run-migrations)

```
php artisan migrate
```

### 4. Install Permissions and Roles

[](#4-install-permissions-and-roles)

```
php artisan artisan-playground:install
```

### 5. Configure Access Control

[](#5-configure-access-control)

Edit the published configuration file at `config/artisan-playground.php`:

```
'access_control' => [
    'allowed_roles' => [
        'artisan-playground-super-admin',
        'artisan-playground-admin',
        'artisan-playground-user',
    ],
    'required_permissions' => [
        'artisan-playground.view',
    ],
    'allowed_ips' => [
        '127.0.0.1',
        '192.168.1.*',
        '10.0.0.0/24',
    ],
],
```

⚙️ Configuration
----------------

[](#️-configuration)

### Authentication Settings

[](#authentication-settings)

```
'auth' => [
    'enabled' => true,
    'guard' => 'web',
    'custom_credentials' => [
        'enabled' => false,
        'username' => env('ARTISAN_PLAYGROUND_USERNAME', 'admin'),
        'password' => env('ARTISAN_PLAYGROUND_PASSWORD', 'password'),
    ],
],
```

### Command Groups

[](#command-groups)

Commands are automatically grouped into categories:

- **Default**: Standard Laravel commands
- **Custom**: Your application's custom commands
- **Dangerous**: Commands that can affect system stability
- **Database**: Database-related commands
- **Cache**: Cache management commands

### Dangerous Commands

[](#dangerous-commands)

Configure which commands are considered dangerous:

```
'dangerous_commands' => [
    'migrate:fresh',
    'migrate:reset',
    'db:wipe',
    'config:clear',
    'cache:clear',
    // Add more as needed
],
```

### UI Settings

[](#ui-settings)

```
'ui' => [
    'theme' => [
        'default' => 'light', // light, dark, auto
        'allow_switch' => true,
    ],
    'layout' => [
        'sidebar_position' => 'left',
        'sidebar_collapsible' => true,
        'show_command_history' => true,
        'max_history_items' => 50,
    ],
],
```

🔐 Security
----------

[](#-security)

### Role-Based Access Control

[](#role-based-access-control)

The package creates three default roles:

1. **artisan-playground-super-admin**: Full access to all features
2. **artisan-playground-admin**: Can execute dangerous commands and manage history
3. **artisan-playground-user**: Can execute safe commands only

### Permissions

[](#permissions)

- `artisan-playground.view`: View the dashboard
- `artisan-playground.execute`: Execute commands
- `artisan-playground.execute-dangerous`: Execute dangerous commands
- `artisan-playground.delete`: Delete command history
- `artisan-playground.restore`: Restore deleted commands
- `artisan-playground.force-delete`: Permanently delete commands

### IP Restrictions

[](#ip-restrictions)

Configure allowed IP addresses in the configuration:

```
'allowed_ips' => [
    '127.0.0.1',           // Single IP
    '192.168.1.*',         // Wildcard pattern
    '10.0.0.0/24',         // CIDR notation
    '*',                    // Allow all IPs
],
```

🎨 Usage
-------

[](#-usage)

### Accessing the Interface

[](#accessing-the-interface)

Visit `/artisan-playground` in your browser after installation.

### Executing Commands

[](#executing-commands)

1. **Browse Commands**: Navigate through command groups in the sidebar
2. **Select Command**: Click on any command to view its details
3. **Configure Parameters**: Fill in required arguments and optional parameters
4. **Execute**: Click "Execute Command" to run the command
5. **View Output**: See real-time output and execution time

### Command History

[](#command-history)

- View all executed commands with details
- Filter by command name, user, status, or type
- Re-execute commands with the same parameters
- View full command output in modals

### Theme Switching

[](#theme-switching)

Click the theme toggle button in the top-right corner to switch between light and dark themes.

🔧 Customization
---------------

[](#-customization)

### Adding Custom Command Groups

[](#adding-custom-command-groups)

```
'command_groups' => [
    'my-custom-group' => [
        'name' => 'My Custom Commands',
        'description' => 'Custom application commands',
        'icon' => 'fas fa-star',
        'color' => 'warning',
    ],
],
```

### Customizing Dangerous Commands

[](#customizing-dangerous-commands)

```
'dangerous_commands' => [
    // Add your custom dangerous commands
    'my-app:reset-data',
    'my-app:clear-cache',
],
```

### Custom Styling

[](#custom-styling)

Override the default styles by publishing the assets and modifying:

- `public/vendor/artisan-playground/css/app.css`
- `public/vendor/artisan-playground/js/app.js`

📊 API Endpoints
---------------

[](#-api-endpoints)

The package provides several API endpoints:

- `GET /artisan-playground` - Dashboard
- `GET /artisan-playground/command/{name}` - Command details
- `POST /artisan-playground/execute` - Execute command
- `GET /artisan-playground/history` - Command history
- `GET /artisan-playground/login` - Login page
- `POST /artisan-playground/login` - Authenticate
- `POST /artisan-playground/logout` - Logout

🧪 Testing
---------

[](#-testing)

```
# Run the package tests
composer test

# Run with coverage
composer test -- --coverage
```

🤝 Contributing
--------------

[](#-contributing)

We welcome contributions! Please follow these steps:

### 1. Fork the Repository

[](#1-fork-the-repository)

Fork the repository on GitHub.

### 2. Create a Feature Branch

[](#2-create-a-feature-branch)

```
git checkout -b feature/amazing-feature
```

### 3. Make Your Changes

[](#3-make-your-changes)

- Follow PSR-12 coding standards
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass

### 4. Commit Your Changes

[](#4-commit-your-changes)

```
git commit -m 'Add amazing feature'
```

### 5. Push to the Branch

[](#5-push-to-the-branch)

```
git push origin feature/amazing-feature
```

### 6. Create a Pull Request

[](#6-create-a-pull-request)

Submit a pull request with a clear description of your changes.

### Development Setup

[](#development-setup)

1. Clone the repository
2. Install dependencies: `composer install`
3. Copy `.env.example` to `.env` and configure
4. Run migrations: `php artisan migrate`
5. Install the package: `php artisan artisan-playground:install`

### Code Style

[](#code-style)

- Follow PSR-12 coding standards
- Use meaningful variable and function names
- Add proper PHPDoc comments
- Keep functions small and focused

### Testing Guidelines

[](#testing-guidelines)

- Write unit tests for all new features
- Ensure test coverage is maintained
- Test both success and failure scenarios
- Mock external dependencies

📝 Changelog
-----------

[](#-changelog)

### v1.0.0

[](#v100)

- Initial release
- Bootstrap-based UI with theme support
- Role-based access control
- Command execution and history
- IP-based restrictions
- Custom authentication support

📄 License
---------

[](#-license)

This package is open-sourced software licensed under the [MIT license](LICENSE).

🙏 Acknowledgments
-----------------

[](#-acknowledgments)

- [Laravel](https://laravel.com/) - The PHP framework
- [Bootstrap](https://getbootstrap.com/) - CSS framework
- [Font Awesome](https://fontawesome.com/) - Icons
- [Spatie Laravel Permission](https://github.com/spatie/laravel-permission) - Permission management

📞 Support
---------

[](#-support)

- **GitHub Issues**: [Report bugs or request features](https://github.com/kozhinhikkodan-dev/artisan-playground/issues)
- **Documentation**: [Full documentation](https://github.com/kozhinhikkodan-dev/artisan-playground#readme)
- **Buy me a coffee**: [Support the project](https://www.buymeacoffee.com/salihkozhinhikkodan)

⭐ Star the Repository
---------------------

[](#-star-the-repository)

If you find this package useful, please consider starring the repository on GitHub!

---

**Made with ❤️ by Salih Kozhinhikkodan**

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance55

Moderate activity, may be stable

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

303d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5d34ed6efcc8ca3e3745ef72ea73b1da75fea80a4f2ab296fccf40ff1b017462?d=identicon)[kozhinhikkodan-dev](/maintainers/kozhinhikkodan-dev)

---

Top Contributors

[![kozhinhikkodan-dev](https://avatars.githubusercontent.com/u/178982289?v=4)](https://github.com/kozhinhikkodan-dev "kozhinhikkodan-dev (2 commits)")

---

Tags

laraveluiartisanpermissionsthemebootstrapdashboardadmincommands

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kozhinhikkodan-dev-artisan-playground/health.svg)

```
[![Health](https://phpackages.com/badges/kozhinhikkodan-dev-artisan-playground/health.svg)](https://phpackages.com/packages/kozhinhikkodan-dev-artisan-playground)
```

###  Alternatives

[tuandm/laravue

A beautiful dashboard for Laravel built by VueJS

2.2k16.6k](/packages/tuandm-laravue)[klaravel/ntrust

Role-Based Permissions for Laravel 5.3+

10126.7k1](/packages/klaravel-ntrust)[smarch/watchtower

Front-end for the Shinboi Auth system of Users / Roles / Permissions in Laravel 5

523.0k](/packages/smarch-watchtower)[kamona/kui-laravel-fortify

Front-end scafolding for laravel/fortify based on kui-dashboard

132.7k](/packages/kamona-kui-laravel-fortify)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
