Skip to main content

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.
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

Je kunt dit ook als array opgeven.

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.
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

Raadpleeg de GitHub-repository voor de meest actuele informatie.
Laatst gewijzigd op 6 september 2026