Summary
Add a Plugin Health & Coverage Dashboard that analyzes all SecuScan plugins and generates a consolidated report showing plugin status, parser availability, test coverage, category distribution, and overall plugin health metrics.
This feature will help maintainers and contributors quickly identify coverage gaps, untested plugins, and areas that need improvement as the plugin ecosystem grows.
Problem
As SecuScan continues to add more plugins, it becomes increasingly difficult to track:
- Which plugins have parser implementations
- Which plugins have automated tests
- Which plugin categories are underrepresented
- Overall plugin coverage and health across the project
Currently, contributors must manually inspect plugin files and test directories, which is time-consuming and error-prone.
Proposed solution
Create a Python-based dashboard/report generator that scans the plugin ecosystem and produces a health summary.
The dashboard should:
- Discover all registered plugins
- Collect plugin metadata
- Check parser availability
- Check test coverage presence
- Group plugins by category
- Generate coverage statistics
- Export results in human-readable and machine-readable formats
Potential outputs:
- Markdown report (
plugin_health_report.md)
- JSON report (
plugin_health_report.json)
- Optional HTML dashboard for easier visualization
Suggested scope
If you already know the likely implementation area, mention it here:
-
Suggested files or directories:
plugins/
tests/
scripts/
utils/
-
Related route, page, component, API, or plugin:
- Plugin discovery system
- Plugin metadata definitions
- Parser implementations
- Existing testing infrastructure
Acceptance criteria
Test plan
- Run the dashboard utility locally.
- Verify all available plugins are detected correctly.
- Confirm parser and test coverage statistics match the repository structure.
- Validate generated JSON output format.
- Verify Markdown report readability and accuracy.
- Add a sample plugin and ensure the dashboard reflects the change automatically.
Alternatives considered
Additional context
This feature is intended to improve project maintainability and contributor experience. As the number of plugins increases, having an automated plugin health dashboard will make it easier to identify testing gaps, parser coverage issues, and opportunities for future development.
The generated JSON output could also be used later for CI reporting, project analytics, or a future web-based dashboard.
Summary
Add a Plugin Health & Coverage Dashboard that analyzes all SecuScan plugins and generates a consolidated report showing plugin status, parser availability, test coverage, category distribution, and overall plugin health metrics.
This feature will help maintainers and contributors quickly identify coverage gaps, untested plugins, and areas that need improvement as the plugin ecosystem grows.
Problem
As SecuScan continues to add more plugins, it becomes increasingly difficult to track:
Currently, contributors must manually inspect plugin files and test directories, which is time-consuming and error-prone.
Proposed solution
Create a Python-based dashboard/report generator that scans the plugin ecosystem and produces a health summary.
The dashboard should:
Potential outputs:
plugin_health_report.md)plugin_health_report.json)Suggested scope
If you already know the likely implementation area, mention it here:
Suggested files or directories:
plugins/tests/scripts/utils/Related route, page, component, API, or plugin:
Acceptance criteria
Test plan
Alternatives considered
Manual tracking through documentation files.
Maintaining a static spreadsheet or plugin inventory.
CI-only validation.
Additional context
This feature is intended to improve project maintainability and contributor experience. As the number of plugins increases, having an automated plugin health dashboard will make it easier to identify testing gaps, parser coverage issues, and opportunities for future development.
The generated JSON output could also be used later for CI reporting, project analytics, or a future web-based dashboard.