Skip to content

feat: Build modular reporting engine#14

Merged
attogram merged 3 commits intomainfrom
feature/modular-reporting-engine
Sep 10, 2025
Merged

feat: Build modular reporting engine#14
attogram merged 3 commits intomainfrom
feature/modular-reporting-engine

Conversation

@google-labs-jules
Copy link
Copy Markdown
Contributor

This change builds a full modular reporting engine. It updates the data collector to fetch open and closed PRs, refactors the main script to run reporters from a new reporters/ directory using a -r flag, and implements new reporters for analyzing trends over time and finding top repositories.


PR created automatically by Jules for task 4283476786896887443

This commit introduces a new modular reporting engine to the dashboard.

The main `dashboard.sh` script has been refactored to support running "reporters" from a new `reporters/` directory. A new `-r <reporter_name>` flag is used to execute a specific reporter. The old `--aggregate` functionality has been removed in favor of the new system.

The `modules/github.sh` data collector has been updated to fetch counts for open and closed pull requests, providing more data for analysis.

Two new reporters have been implemented:
- `reporters/timespan.sh`: Shows the change in metrics over time. Replaces the old `--aggregate` functionality.
- `reporters/top-stars.sh`: Lists the top repositories by star count from the most recent report.

Documentation has been added for the new reporting system in `docs/dashboard-reporters.md`, and the main `docs/dashboard-script.md` has been updated to reflect the changes.

A `README.md` has been added to the `reporters/` directory to document known issues with date-based filtering due to limitations of the `date` command in the execution environment.
@google-labs-jules
Copy link
Copy Markdown
Contributor Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll acknowledge your comments with a 👀 emoji and then get to work. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

I will automatically address your feedback. For any comments you don't want me to act on, just include (aside).



For security, I will only act on instructions from the user who triggered this task for this pull request.

This commit introduces a new modular reporting engine and refactors the output formatting system.

The main `dashboard.sh` script has been refactored to support running "reporters" from a new `reporters/` directory. A new `-r <reporter_name>` flag is used to execute a specific reporter. The old `--aggregate` functionality has been removed in favor of the new system.

The `modules/github.sh` data collector has been updated to fetch counts for open and closed pull requests, providing more data for analysis.

Two new reporters have been implemented:
- `reporters/timespan.sh`: Shows the change in metrics over time.
- `reporters/top-stars.sh`: Lists the top repositories by star count.

A `README.md` has been added to the `reporters/` directory to document known issues with date-based filtering due to limitations of the `date` command in the execution environment.

Additionally, the output formatting logic has been centralized. All modules (`github.sh`, `hackernews.sh`, etc.) have been simplified to output only a standard TSV format. The main `dashboard.sh` script is now responsible for converting this TSV data into all other supported formats (JSON, XML, HTML, etc.), which removes significant code duplication and simplifies module development.

Documentation has been updated to reflect all these changes.
This commit introduces a new modular reporting engine and refactors the output formatting system.

The main `dashboard.sh` script has been refactored to support running "reporters" from a new `reporters/` directory. A new `-r <reporter_name>` flag is used to execute a specific reporter. The old `--aggregate` functionality has been removed in favor of the new system.

The `modules/github.sh` data collector has been updated to fetch counts for open and closed pull requests, providing more data for analysis.

Two new reporters have been implemented:
- `reporters/timespan.sh`: Shows the change in metrics over time.
- `reporters/top-stars.sh`: Lists the top repositories by star count.

A `README.md` has been added to the `reporters/` directory to document known issues with date-based filtering due to limitations of the `date` command in the execution environment.

Additionally, the output formatting logic has been centralized. All modules (`github.sh`, `hackernews.sh`, etc.) have been simplified to output only a standard TSV format. The main `dashboard.sh` script is now responsible for converting this TSV data into all other supported formats (JSON, XML, HTML, etc.), which removes significant code duplication and simplifies module development.

The test suite has been completely rewritten to align with the new architecture, and all tests are passing.

Documentation has been updated to reflect all these changes.
@attogram attogram marked this pull request as ready for review September 10, 2025 19:50
@attogram attogram merged commit 044d352 into main Sep 10, 2025
2 checks passed
@attogram attogram deleted the feature/modular-reporting-engine branch September 10, 2025 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant