microkernel-pattern-guidelisted
Install: claude install-skill xonovex/platform
# Microkernel (Plug-in) Architecture
A minimal core plus independent plug-ins, selected through a registry: extend the system by adding a plug-in, never by editing the core.
## Essentials
- **Core + plug-ins + registry** - the minimal core holds the least; features are registered plug-ins, see [references/core-plugins-registry.md](references/core-plugins-registry.md)
- **Open/closed** - add a plug-in and register it once; never edit a central switch, see [references/core-plugins-registry.md](references/core-plugins-registry.md)
- **Capabilities, fail-closed** - plug-ins self-declare guarantees; the core gates generically and securely-by-default, see [references/capabilities-fail-closed.md](references/capabilities-fail-closed.md)
- **Bind as late as cost allows** - compile vs load vs run-time selection picks the mechanism, see [references/binding-time.md](references/binding-time.md)
- **Wire at the root, don't locate** - inject the resolved plug-in; passing the registry into business logic is the service-locator anti-pattern, see [references/wiring.md](references/wiring.md)
- **Built on ports and adapters** - plug-ins are adapters behind contracts; for the port substrate see **hexagonal-pattern-guide**
## Gotchas
- A microkernel is not "just a hexagon". It adds an _open, registered_ plug-in set plus extensibility machinery; ports/adapters is only the substrate (hexagonal-pattern-guide).
- Passing the registry into business logic is the service-locator anti-pattern: hidden