PHPackages                             laravilt/plugins - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. laravilt/plugins

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

laravilt/plugins
================

Complete plugin system with generator, management, and FilamentPHP compatibility for Laravilt

1.0.2(4mo ago)0290↓31.4%[1 PRs](https://github.com/laravilt/plugins/pulls)1MITPHPPHP ^8.3|^8.4CI passing

Since Dec 11Pushed 2mo agoCompare

[ Source](https://github.com/laravilt/plugins)[ Packagist](https://packagist.org/packages/laravilt/plugins)[ GitHub Sponsors](https://github.com/fadymondy)[ RSS](/packages/laravilt-plugins/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (15)Versions (8)Used By (1)

[![Screenshot](https://raw.githubusercontent.com/laravilt/plugins/master/arts/cover.jpg)](https://raw.githubusercontent.com/laravilt/plugins/master/arts/cover.jpg)

Laravilt Plugins
================

[](#laravilt-plugins)

[![Latest Stable Version](https://camo.githubusercontent.com/0305d2c61d1157baeaab70beba1047b316f1af1622e305a16feaba06537dcea2/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176696c742f706c7567696e732f76657273696f6e2e737667)](https://packagist.org/packages/laravilt/plugins)[![License](https://camo.githubusercontent.com/b315d5d3edabc231f5380b8ddbc8c8581162ca13563cbaba89adcd36fd686a41/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176696c742f706c7567696e732f6c6963656e73652e737667)](https://packagist.org/packages/laravilt/plugins)[![Downloads](https://camo.githubusercontent.com/9e0c21a930e0776b54d4e3a9b3348a91cd8d0697270645419dea8a4e4a23c18a/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176696c742f706c7567696e732f642f746f74616c2e737667)](https://packagist.org/packages/laravilt/plugins)[![Dependabot Updates](https://github.com/laravilt/plugins/actions/workflows/dependabot/dependabot-updates/badge.svg)](https://github.com/laravilt/plugins/actions/workflows/dependabot/dependabot-updates)[![PHP Code Styling](https://github.com/laravilt/plugins/actions/workflows/fix-php-code-styling.yml/badge.svg)](https://github.com/laravilt/plugins/actions/workflows/fix-php-code-styling.yml)[![Tests](https://github.com/laravilt/plugins/actions/workflows/tests.yml/badge.svg)](https://github.com/laravilt/plugins/actions/workflows/tests.yml)

Complete plugin system with generator, management, and FilamentPHP v4 compatibility for Laravilt.ipsum

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

[](#-features)

### 🎨 Plugin Generation

[](#-plugin-generation)

- **Interactive CLI** - Laravel Prompts with smart defaults
- **Factory Pattern** - Extensible feature-based architecture
- **Priority System** - Ordered feature execution (0-100)
- **Stub Processing** - Template-based file generation
- **Auto-Discovery** - Automatic plugin registration

### 🧩 Component Generators

[](#-component-generators)

Generate 13 component types within plugins:

- **Migration** - Database migrations with timestamps
- **Model** - Eloquent models with proper namespacing
- **Controller** - HTTP controllers
- **Command** - Artisan commands
- **Job** - Queueable jobs
- **Event** - Event classes
- **Listener** - Event listeners
- **Notification** - Notifications with mail support
- **Seeder** - Database seeders
- **Factory** - Model factories
- **Test** - Feature/Unit tests
- **Lang** - Language files
- **Route** - Route files

### 🤖 MCP Server Integration

[](#-mcp-server-integration)

- **AI Agent Support** - Built-in MCP server for Claude, GPT, etc.
- **6 Tools Available** - list-plugins, plugin-info, generate-plugin, generate-component, list-component-types, plugin-structure
- **Natural Language** - Generate plugins through conversation
- **Auto-Discovery** - AI agents can explore plugin ecosystem

### 🎨 Professional Assets

[](#-professional-assets)

- **Cover Images** - Auto-generated 1200x630px screenshots
- **Dark Theme** - Professional gradient backgrounds
- **Plugin Branding** - Cyan icon with Laravilt branding
- **Social Media Ready** - Optimized for GitHub/Twitter previews
- **README Integration** - Auto-embedded in documentation

### ⚙️ GitHub Integration

[](#️-github-integration)

- **Workflows** - tests.yml, fix-php-code-styling.yml, dependabot-auto-merge.yml
- **Issue Templates** - Bug reports, feature requests (GitHub forms)
- **Dependabot** - Automated dependency updates
- **FUNDING.yml** - GitHub Sponsors support
- **CONTRIBUTING.md** - Contribution guidelines
- **SECURITY.md** - Security vulnerability reporting

### 📦 Complete Package Setup

[](#-complete-package-setup)

- **Service Provider** - Auto-discovery compatible
- **Configuration** - Publishable config with env support
- **Composer** - PSR-4 autoloading, version constraints
- **Testing** - Pest, PHPStan, Pint, Testbench
- **Assets** - Vite, Tailwind v4, Vue.js plugin support
- **Documentation** - README, CHANGELOG, LICENSE, CODE\_OF\_CONDUCT

📋 Requirements
--------------

[](#-requirements)

- PHP 8.3+
- Laravel 12+
- FilamentPHP v4+ (for plugins features)
- Composer 2+
- Node.js 18+ (for asset compilation)

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

[](#-installation)

```
composer require laravilt/plugins
```

The service provider is auto-discovered and will register automatically.

### Configuration

[](#configuration)

Publish the configuration file:

```
php artisan vendor:publish --tag=laravilt-plugins-config
```

Configure defaults in `config/laravilt-plugins.php`:

```
return [
    'defaults' => [
        'vendor' => env('LARAVILT_PLUGINS_DEFAULT_VENDOR', 'laravilt'),
        'author' => env('LARAVILT_PLUGINS_DEFAULT_AUTHOR', 'Your Name'),
        'email' => env('LARAVILT_PLUGINS_DEFAULT_EMAIL', 'your@email.com'),
        'license' => env('LARAVILT_PLUGINS_DEFAULT_LICENSE', 'MIT'),
        'github_sponsor' => env('LARAVILT_PLUGINS_DEFAULT_GITHUB_SPONSOR', 'yourusername'),
    ],
];
```

### MCP Server Setup (for AI Agents)

[](#mcp-server-setup-for-ai-agents)

Install the MCP server configuration:

```
php artisan laravilt:install-mcp
```

This command will:

- Publish `routes/ai.php` (if needed)
- Register the MCP server in your routes
- Update `.mcp.json` for AI clients

After installation, restart your AI agent to access the plugin management tools.

📖 Usage
-------

[](#-usage)

### Generate a Plugin

[](#generate-a-plugin)

Interactive mode (recommended):

```
php artisan laravilt:plugin MyPlugin
```

Non-interactive mode:

```
php artisan laravilt:plugin MyPlugin --no-interaction
```

The command will guide you through:

1. Plugin name and description
2. Feature selection (migrations, views, routes, assets, etc.)
3. Author details (optional)
4. GitHub sponsor (optional)
5. Language selection

### Generate Components

[](#generate-components)

Use the unified component generator:

```
php artisan laravilt:make
```

Or specify directly:

```
# Generate a model
php artisan laravilt:make my-plugin model Post

# Generate a controller
php artisan laravilt:make my-plugin controller PostController

# Generate a migration
php artisan laravilt:make my-plugin migration CreatePostsTable

# Generate a command
php artisan laravilt:make my-plugin command ProcessPostsCommand

# Generate a job
php artisan laravilt:make my-plugin job ProcessPost

# Generate a test
php artisan laravilt:make my-plugin test PostTest
```

All 13 component types are supported with proper namespace detection and PSR-4 structure.

### Generated Plugin Structure

[](#generated-plugin-structure)

```
my-plugin/
├── .github/
│   ├── workflows/
│   │   ├── tests.yml
│   │   ├── fix-php-code-styling.yml
│   │   └── dependabot-auto-merge.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug.yml
│   │   └── config.yml
│   ├── CONTRIBUTING.md
│   ├── FUNDING.yml
│   ├── SECURITY.md
│   └── dependabot.yml
├── arts/
│   └── screenshot.jpg                    # Auto-generated cover image
├── config/
│   └── laravilt-my-plugin.php
├── database/
│   ├── factories/
│   ├── migrations/
│   └── seeders/
├── resources/
│   ├── css/
│   │   └── app.css                       # Tailwind v4
│   ├── js/
│   │   └── app.js                        # Vue.js plugin
│   ├── lang/
│   │   └── en/
│   └── views/
├── routes/
│   ├── api.php
│   └── web.php
├── src/
│   ├── Commands/
│   │   └── InstallMyPluginCommand.php
│   ├── Http/
│   │   └── Controllers/
│   ├── Models/
│   ├── MyPluginPlugin.php                # Main plugin class
│   └── MyPluginServiceProvider.php
├── tests/
│   ├── Feature/
│   │   └── DebugTest.php
│   ├── Pest.php
│   └── TestCase.php
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── LICENSE.md
├── README.md
├── composer.json
├── package.json                          # If JS selected
├── phpstan.neon
├── pint.json
├── testbench.yaml
└── vite.plugin.js                        # If JS selected

```

🏗️ Architecture
---------------

[](#️-architecture)

### Factory Pattern

[](#factory-pattern)

The plugin system uses a Factory Pattern for extensible feature generation:

```
Features (Priority 0-100)
├── Core Files (0-20)
│   ├── ComposerJsonFeature (1)
│   ├── GitignoreFeature (2)
│   ├── ServiceProviderFeature (5)
│   ├── PluginClassFeature (10)
│   ├── InstallCommandFeature (12)
│   └── ConfigFeature (15)
├── Structure Files (21-40)
│   ├── MigrationsFeature (25)
│   ├── RoutesFeature (30)
│   ├── ViewsFeature (35)
│   └── LanguageFeature (40)
├── Asset Files (41-60)
│   ├── CssFeature (50)
│   ├── JsFeature (51)
│   └── ArtsFeature (55)
├── Testing Files (61-80)
│   ├── TestingFeature (70)
│   ├── TestbenchFeature (75)
│   └── PintFeature (76)
└── Documentation Files (81-100)
    ├── ReadmeFeature (85)
    ├── GitHubFeature (90)
    └── DocumentationFeature (95)

```

### Extending with Custom Features

[](#extending-with-custom-features)

Create a custom feature:

```
