Skip to main content
Version: Next 🚧

Unified Plugin Framework (UPF) Documentation

Welcome to the Unified Plugin Framework documentation. UPF is an open plugin ecosystem enabling developers to build, share, and compose applications from reusable plugin building blocks.

Documentation Structure​

Architecture​

Comprehensive documentation of the UPF system design and patterns.

DocumentDescription
OverviewHigh-level architecture and system components
Plugin SystemPlugin lifecycle, manifest, and registry
CommunicationInter-plugin communication via gRPC and message bus
UI FederationReact Native Module Federation with Re.Pack
DeploymentOrchestration-agnostic deployment patterns

Specifications​

Technical specifications and contract definitions.

DocumentDescription
Plugin ManifestComplete plugin manifest schema
InterfacesCore interface definitions (IAuth, IStorage, etc.)
gRPC ContractsProtobuf service definitions
UI ContractsFrontend state and event contracts

Guides​

Step-by-step guides for developers and operators.

DocumentDescription
Getting StartedQuick start for new developers
Plugin DevelopmentComprehensive plugin development guide
Deployment GuideProduction deployment instructions

Architectural Decision Records (ADRs)​

Documentation of key architectural decisions and their rationale.

ADRTitleStatus
ADR-001Bun + TypeScript RuntimeAccepted
ADR-002gRPC for Inter-Plugin CommunicationAccepted
ADR-003React Native with Re.PackAccepted
ADR-004Interface-First Plugin ContractsAccepted
ADR-005Message Bus AbstractionAccepted

Core Concepts​

Key Principles​

  1. Interface-First Design - All plugins communicate through versioned interfaces, not implementations
  2. Plugin Autonomy - Each plugin is independently deployable and scalable
  3. Orchestration Agnostic - Works with Docker Compose, Kubernetes, Swarm, or any container orchestrator
  4. Open Ecosystem - Designed for thousands of developers to contribute plugins
  5. Cross-Platform UI - Single React Native codebase for Web, iOS, and Android

Technology Stack​

LayerTechnology
RuntimeBun
LanguageTypeScript
FrontendReact Native + Expo
Module FederationRe.Pack
Inter-service CommunicationgRPC + Protobuf
Message BusNATS (default), RabbitMQ, Redis
ContainerizationDocker
Package Managementnpm (@unified-plugin-framework/* scope)

Getting Help​


Version: 1.0.0-draft Last Updated: 2025