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.
Quick Links​
- Getting Started - Start building your first plugin
- Architecture Overview - Understand the system design
- Plugin Development Guide - Deep dive into plugin creation
Documentation Structure​
Architecture​
Comprehensive documentation of the UPF system design and patterns.
| Document | Description |
|---|---|
| Overview | High-level architecture and system components |
| Plugin System | Plugin lifecycle, manifest, and registry |
| Communication | Inter-plugin communication via gRPC and message bus |
| UI Federation | React Native Module Federation with Re.Pack |
| Deployment | Orchestration-agnostic deployment patterns |
Specifications​
Technical specifications and contract definitions.
| Document | Description |
|---|---|
| Plugin Manifest | Complete plugin manifest schema |
| Interfaces | Core interface definitions (IAuth, IStorage, etc.) |
| gRPC Contracts | Protobuf service definitions |
| UI Contracts | Frontend state and event contracts |
Guides​
Step-by-step guides for developers and operators.
| Document | Description |
|---|---|
| Getting Started | Quick start for new developers |
| Plugin Development | Comprehensive plugin development guide |
| Deployment Guide | Production deployment instructions |
Architectural Decision Records (ADRs)​
Documentation of key architectural decisions and their rationale.
| ADR | Title | Status |
|---|---|---|
| ADR-001 | Bun + TypeScript Runtime | Accepted |
| ADR-002 | gRPC for Inter-Plugin Communication | Accepted |
| ADR-003 | React Native with Re.Pack | Accepted |
| ADR-004 | Interface-First Plugin Contracts | Accepted |
| ADR-005 | Message Bus Abstraction | Accepted |
Core Concepts​
Key Principles​
- Interface-First Design - All plugins communicate through versioned interfaces, not implementations
- Plugin Autonomy - Each plugin is independently deployable and scalable
- Orchestration Agnostic - Works with Docker Compose, Kubernetes, Swarm, or any container orchestrator
- Open Ecosystem - Designed for thousands of developers to contribute plugins
- Cross-Platform UI - Single React Native codebase for Web, iOS, and Android
Technology Stack​
| Layer | Technology |
|---|---|
| Runtime | Bun |
| Language | TypeScript |
| Frontend | React Native + Expo |
| Module Federation | Re.Pack |
| Inter-service Communication | gRPC + Protobuf |
| Message Bus | NATS (default), RabbitMQ, Redis |
| Containerization | Docker |
| Package Management | npm (@unified-plugin-framework/* scope) |
Getting Help​
- Issues: Report bugs and request features via GitHub Issues
- Discussions: Join community discussions for questions and ideas
- Contributing: See our Contributing Guide for contribution guidelines
Version: 1.0.0-draft Last Updated: 2025