feat: complete CLI integration with plugin system

**CLI Integration:**
- Added --engine parameter to md-render command
- Default engine selection: testdrive-jsui for edit/insert, standard for view
- Graceful fallback to standard rendering when plugin unavailable
- Engine validation and mode compatibility checking

**Plugin Discovery:**
- Enhanced RenderingEngineManager with builtin plugin registration
- Automatic discovery and registration of testdrive-jsui engine
- Support for both plugin system discovery and direct registration

**Configuration Management:**
- Production-ready RenderingConfig for CLI usage
- Asset deployment to _markitect/plugins/ structure
- Configurable asset base URLs and deployment strategies

**Testing Infrastructure:**
- Comprehensive test suite for plugin discovery
- CLI integration testing without Click framework dependencies
- Complete scenario testing (default, explicit, fallback, unknown engines)
- Integration verification scripts

**Documentation:**
- Complete PLUGIN_SYSTEM.md documentation
- Architecture overview and development workflows
- JavaScript-first development guide
- Asset management and deployment strategies
- CLI usage examples and troubleshooting guide

**Key Features:**
- `markitect md-render --edit` now uses testdrive-jsui by default
- `markitect md-render --engine testdrive-jsui --edit` for explicit selection
- `markitect md-render --engine standard --edit` for legacy behavior
- Automatic fallback with user-friendly error messages

This completes the plugin infrastructure implementation, enabling
independent JavaScript development with seamless CLI integration.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-14 08:47:30 +01:00
parent 8ef356af57
commit 8f1cc0faf9
9 changed files with 1268 additions and 23 deletions

25
test_cli_plugin.md Normal file
View File

@@ -0,0 +1,25 @@
# CLI Plugin Integration Test
This is a test document to verify that the CLI integration with the testdrive-jsui plugin works correctly.
## Features to Test
- Plugin selection via `--engine` parameter
- Default engine selection for edit mode
- Fallback to standard rendering if plugin fails
## Test Scenarios
1. **Default behavior**: `markitect md-render --edit test.md`
- Should use testdrive-jsui by default
2. **Explicit plugin**: `markitect md-render --engine testdrive-jsui --edit test.md`
- Should use testdrive-jsui explicitly
3. **Standard fallback**: `markitect md-render --engine standard --edit test.md`
- Should use standard CleanDocumentManager
4. **Unknown engine**: `markitect md-render --engine unknown --edit test.md`
- Should fallback to standard with warning
This test will verify the plugin infrastructure integration.