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.