Skip to content

[FEAT] Plugin Health & Coverage Dashboard #438

@upasana-2006

Description

@upasana-2006

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

  • A Python utility can automatically discover all available plugins.
  • The utility generates a report containing plugin health and coverage statistics.
  • The report identifies plugins with and without parsers/tests.
  • The report groups plugins by category and displays summary metrics.
  • JSON export is supported for automation and future integrations.
  • Documentation is added explaining how to generate and interpret the report.

Test plan

  1. Run the dashboard utility locally.
  2. Verify all available plugins are detected correctly.
  3. Confirm parser and test coverage statistics match the repository structure.
  4. Validate generated JSON output format.
  5. Verify Markdown report readability and accuracy.
  6. Add a sample plugin and ensure the dashboard reflects the change automatically.

Alternatives considered

  • Manual tracking through documentation files.

    • Rejected because it can quickly become outdated.
  • Maintaining a static spreadsheet or plugin inventory.

    • Rejected because it requires manual updates and offers limited automation.
  • CI-only validation.

    • Useful but does not provide contributors with a clear overview of plugin health and coverage.

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions