> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Plugin directories

> Leer hoe je met plugin directories skills, hooks, MCP en custom agents in één keer laadt.

## Plugin directories

Een plugin directory is een mechanisme om skills, hooks, MCP-servers, custom agents, LSP-configuratie en meer gebundeld vanuit één directory te laden. Je gebruikt dit als je een herbruikbare set functionaliteit bij je app of repository wilt meeleveren.

In de Laravel-versie geef je dit op via `pluginDirectories` van `SessionConfig` of `ResumeSessionConfig`.

## Wanneer te gebruiken

* Meerdere extensies distribueren als één capability pack
* Plugins meeleveren in de repository zodat iedereen dezelfde configuratie gebruikt
* Plugins lokaal ontwikkelen en testen vóór publicatie in de Marketplace
* Geïnstalleerde plugins tijdelijk overschrijven met een lokale checkout

Voor slechts één MCP-server, één hook of één custom agent is het eenvoudiger om die direct in `mcpServers`, `hooks` of `customAgents` op te geven. Plugin directories zijn geschikt wanneer je meerdere samenhangende functies gebundeld wilt distribueren.

## Directorystructuur

De Copilot CLI zoekt in elke plugin directory naar `plugin.json` of een `SKILL.md` direct in de root.

```text theme={null}
my-plugin/
├── plugin.json
├── SKILL.md
├── hooks.json
├── .mcp.json
├── agents/
│   └── code-reviewer.md
└── skills/
    └── lint-fix/
        └── SKILL.md
```

`plugin.json` kan ook in `.github/plugin.json` of `.github/plugin/plugin.json` staan. Skills, hooks, MCP en agents hebben elk hun eigen loader, dus het is voldoende om alleen op te nemen wat je nodig hebt.

## Laden vanuit Laravel

```php theme={null}
use Revolution\Copilot\Contracts\CopilotSession;
use Revolution\Copilot\Facades\Copilot;
use Revolution\Copilot\Types\SessionConfig;

Copilot::start(function (CopilotSession $session): void {
    $response = $session->sendAndWait(
        prompt: 'Controleer deze wijziging volgens het reviewbeleid van de plugin',
    );

    dump($response->content());
}, config: new SessionConfig(
    pluginDirectories: [
        base_path('plugins/code-reviewer'),
        base_path('plugins/lint-fix'),
    ],
));
```

Je kunt dit ook als array opgeven.

```php theme={null}
Copilot::run(
    prompt: 'Verbeter de README',
    config: [
        'pluginDirectories' => [
            base_path('plugins/docs-writer'),
        ],
    ],
);
```

## Het verschil met `cli_args`

In de officiële SDK wordt dit soms beschreven als het argument `--plugin-dir` bij het starten van de runtime. In de Laravel-versie gebruik je normaal gesproken `pluginDirectories` in de sessieconfiguratie.

Wil je daarentegen argumenten meegeven aan het starten van het CLI-proces zelf, dan kun je `cli_args` in `config/copilot.php` of `cli_args` van `Copilot::useStdio()` gebruiken. Let wel: `cli_args` werkt alleen als de SDK de CLI via stdio start; bij verbinding met een externe runtime, zoals via `useTcp()`, wordt het genegeerd.

```php theme={null}
$stdioConfig = config('copilot');
$stdioConfig['cli_args'] = [
    '--plugin-dir',
    base_path('plugins/code-reviewer'),
];

Copilot::useStdio($stdioConfig)->start(fn (CopilotSession $session) => ...);
```

Geef normaal gesproken de voorkeur aan `pluginDirectories`. Je kunt het per session expliciet opgeven en het op dezelfde plek beheren als de andere `SessionConfig`-instellingen.

## Werkwijze voor reproduceerbaarheid

* Gebruik absolute paden via bijvoorbeeld `base_path()` in plaats van relatieve paden
* Zet plugins die je in de repository meelevert onder versiebeheer
* Documenteer bij plugins uit de Marketplace of externe distributie welke versie je gebruikt
* Laat in productie gebruikersinvoer nooit direct een willekeurig pluginpad bepalen

## Zie ook

* [SessionConfig](/nl/packages/laravel-copilot-sdk/session-config)
* [Custom agents](/nl/packages/laravel-copilot-sdk/custom-agents)
* [MCP](/nl/packages/laravel-copilot-sdk/mcp)
* [Hooks](/nl/packages/laravel-copilot-sdk/hooks)
* [Skills](/nl/packages/laravel-copilot-sdk/skills)

<Info>
  Raadpleeg de [GitHub-repository](https://github.com/invokable/laravel-copilot-sdk) voor de meest actuele informatie.
</Info>


## Related topics

- [SessionConfig](/nl/packages/laravel-copilot-sdk/session-config.md)
- [laravel/agent-skills — de officiële Laravel-collectie van AI-agentskills](/nl/blog/agent-skills-introduction.md)
- [Laravel-updates van maart 2026](/nl/blog/changelog/202603.md)
- [Assets bundelen met Vite](/nl/vite.md)
- [Laravel Pint](/nl/pint.md)
