> Source: https://laravilt.com/docs/plugins/introduction

# Plugins

Enterprise-grade plugin architecture for Laravilt.

## Getting Started

- [Installation](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/getting-started/installation) - Setup and requirements
- [Structure](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/getting-started/structure) - Plugin directory layout

## Core Concepts

- [Plugin Classes](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/concepts/plugin-classes) - Base class architecture
- [Traits](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/concepts/traits) - Available concerns
- [Dependencies](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/concepts/dependencies) - Package dependencies
- [Configuration](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/concepts/configuration) - Plugin config files

## Components

- [Introduction](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/components/introduction) - Component overview
- [Models](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/components/models) - Eloquent models
- [Resources](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/components/resources) - Panel resources
- [Commands](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/components/commands) - Artisan commands

## Plugin Manager

- [Introduction](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/manager/introduction) - Manager facade
- [Registration](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/manager/registration) - Register plugins

## Tutorials

- [Creating a Plugin](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/tutorials/creating-a-plugin) - Step-by-step guide

## Examples

- [Users Plugin](https://github.com/laravilt/laravilt/blob/HEAD/docs/plugins/examples/users-plugin) - Complete RBAC example

## Quick Start

```bash
# Create new plugin
php artisan laravilt:plugin BlogManager

# Generate component
php artisan laravilt:make blog-manager model Post
```

## Plugin Example

```php
<?php

namespace MyCompany\BlogManager;

use Laravilt\Plugins\PluginProvider;
use Laravilt\Plugins\Contracts\Plugin;
use Filament\Panel;

class BlogManagerPlugin extends PluginProvider implements Plugin
{
    protected static string $id = 'blog-manager';
    protected static string $name = 'Blog Manager';

    public function register(Panel $panel): void
    {
        $panel->resources([
            Resources\PostResource::class,
        ]);
    }
}
```
