plugin-architecture-patterns

Installation
SKILL.md

Plugin Architecture & Registration

Plugin Types

Type Trait Location
Document extractor (binding-facing) DocumentExtractor: Plugin plugins/extractor/trait.rs
Document extractor (in-crate) InternalDocumentExtractor: Plugin plugins/extractor/trait.rs
OCR backend OcrBackend: Plugin plugins/ocr.rs (a file, not a directory)
Post processor PostProcessor: Plugin plugins/processor/trait.rs
Validator Validator: Plugin plugins/validator/trait.rs
Embedding backend EmbeddingBackend: Plugin plugins/embedding.rs
Reranker backend RerankerBackend: Plugin plugins/reranker.rs
Tokenizer backend TokenizerBackend: Plugin plugins/tokenizer.rs
Renderer Renderer: Plugin plugins/renderer.rs

Plugin (plugins/traits.rs) is Send + Sync and requires name(); version(), initialize(), shutdown(), description(), and author() have defaults. There is no 'static trait bound; registry-owned Arc<dyn Trait> supplies the necessary lifetime.

Installs
9
Repository
xberg-io/xberg
GitHub Stars
9.5K
First Seen
Jun 9, 2026