Problem
Currently extending Maestro requires forking the repository. We built an accessibility scanner that needed to hook into test execution, but had to fork Maestro to add this functionality.
Proposed Solution
Add a plugin architecture that allows extensions via JAR-based plugins with lifecycle hooks.
Implementation
I've opened PR #3221 with a complete implementation including:
- Plugin lifecycle hooks (onInit, onFlowStart, onCommandComplete, etc.)
- CLI commands (add-plugin, list-plugins, remove-plugin)
- Plugin installation in ~/.maestro/plugins/
- ServiceLoader-based plugin discovery
Use Cases
- Accessibility scanning (WCAG compliance)
- Performance monitoring
- Visual regression testing
- Custom analytics and reporting
Discussion
Would love feedback on:
- Is this approach aligned with Maestro's architecture?
- Should plugins have platform-specific capabilities?
- Any API changes needed before stabilizing?
See PR #3221 for full implementation details.
Problem
Currently extending Maestro requires forking the repository. We built an accessibility scanner that needed to hook into test execution, but had to fork Maestro to add this functionality.
Proposed Solution
Add a plugin architecture that allows extensions via JAR-based plugins with lifecycle hooks.
Implementation
I've opened PR #3221 with a complete implementation including:
Use Cases
Discussion
Would love feedback on:
See PR #3221 for full implementation details.