Skip to content

Plugin Runtime Contract ​

This page clarifies what the raclette runtime expects from plugins and how plugins are discovered and loaded.

Required Core Pieces ​

  • raclette.plugin.ts metadata at plugin root.
  • backend/index.ts for backend plugin registration.
  • Optional frontend entry and widget folders following plugin conventions.

Discovery and Loading ​

  • Local plugins are discovered from project plugin directories.
  • npm plugins are installed as dependencies and enabled through raclette.config plugin configuration.
  • Runtime applies plugin-specific namespacing/prefixing to reduce collisions.

Communication Model ​

  • Frontend/backend plugin parts communicate via generated API contracts and websocket updates.
  • usePluginApi() consumes generated plugin config and runtime wiring.