Skip to content

Plugin System Boundary

Stable ID: component.plugin-system
Kind: shared-component
Status: stable
Source: skill/references/shared-components/plugin-system.md

Purpose

Support explicit extension points with versioned contracts, controlled discovery, isolation, and lifecycle management.

Use when

  • Independent teams or deployments need optional capabilities.
  • Extension contracts are stable enough to version.
  • Loading and trust boundaries can be controlled.

Avoid when

  • Only one implementation exists and internal composition is sufficient.
  • Plugins would bypass ownership, security, or release controls.
  • The contract changes faster than consumers can follow.

Applicability

  • Languages: any, python, q-kdbplus, cpp, rust, dart-flutter, typescript
  • Related entries: pattern.adapter, pattern.factory