Complete plugin system implementation providing extensible architecture for MarkiTect: 🏗️ **Core Plugin Architecture**: - BasePlugin abstract class with lifecycle management (initialize/cleanup) - Specialized plugin types: ProcessorPlugin, FormatterPlugin, ValidatorPlugin, ExporterPlugin, CommandPlugin - PluginMetadata system with version, dependencies, and type information - Plugin initialization and configuration validation 🔍 **Plugin Discovery & Management**: - PluginManager with automatic discovery from built-in modules and directories - PluginRegistry for centralized plugin registration and lifecycle management - Support for plugin loading, unloading, and reloading with configuration - Plugin discovery from multiple sources (built-in, directories, packages) 🛠️ **CLI Integration**: - markitect plugin-list: List all available plugins with metadata - markitect plugin-load: Load plugins with optional configuration - markitect plugin-unload: Unload plugins and cleanup resources - markitect plugin-info: Show detailed plugin information - markitect plugin-discover: Discover and refresh plugin catalog 📦 **Built-in Plugins**: - JSON/YAML/Table formatters for output formatting - Markdown/Text processors for content processing - Auto-registered via @register_plugin decorator - Comprehensive configuration options 🔧 **Developer Experience**: - @register_plugin decorator for easy plugin registration - Plugin configuration validation and error handling - Comprehensive API documentation with examples - Plugin development guide and best practices 📋 **Example Plugins**: - Advanced text processor with case conversion and pattern replacement - XML/CSV formatters demonstrating custom output formats - Complete examples showing plugin development patterns 🧪 **Test Coverage**: - 59 comprehensive tests covering all plugin functionality - Tests for plugin lifecycle, registration, discovery, and CLI integration - Error handling and edge case coverage - Built-in plugin validation Technical Implementation: - Plugin types: processor, formatter, validator, exporter, generator, importer, transformer, extension, backend, command - Configuration-driven plugin management with YAML/JSON support - Graceful error handling and plugin isolation - Plugin dependency validation and compatibility checking 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
34 lines
733 B
Python
34 lines
733 B
Python
"""
|
|
MarkiTect Plugin System
|
|
|
|
This package provides the plugin architecture for extending MarkiTect functionality.
|
|
Plugins can extend processors, formatters, validators, exporters, and more.
|
|
"""
|
|
|
|
from .manager import PluginManager
|
|
from .base import (
|
|
BasePlugin,
|
|
PluginType,
|
|
PluginMetadata,
|
|
ProcessorPlugin,
|
|
FormatterPlugin,
|
|
ValidatorPlugin,
|
|
ExporterPlugin,
|
|
CommandPlugin
|
|
)
|
|
from .registry import plugin_registry
|
|
from .decorators import register_plugin
|
|
|
|
__all__ = [
|
|
'PluginManager',
|
|
'BasePlugin',
|
|
'PluginType',
|
|
'PluginMetadata',
|
|
'ProcessorPlugin',
|
|
'FormatterPlugin',
|
|
'ValidatorPlugin',
|
|
'ExporterPlugin',
|
|
'CommandPlugin',
|
|
'plugin_registry',
|
|
'register_plugin'
|
|
] |