-
Notifications
You must be signed in to change notification settings - Fork 2.3k
feat: add Test Coverage Analyzer recipe (#5119) #5133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add Test Coverage Analyzer recipe (#5119) #5133
Conversation
Signed-off-by: Arya Pratap Singh <[email protected]>
|
✅ Recipe Validation Passed Your recipe(s) are valid and ready for review! 🔍 Next Steps:
Thanks for contributing to the goose Recipe Cookbook! 🎉 |
|
🔍 Recipe Security Scan Results ✅ Status: APPROVED - All recipes passed security scan 📊 Scan Summary:
📋 Individual Recipe Results: 🔗 View detailed scan results in the workflow artifacts. |
|
can someone review this as well as my other prs. seems pretty non complicated and simple. thanks |
iandouglas
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This recipe is a neat idea, but I feel that the testing suites that devs use are already going to have full HTML-based summaries that are clickable to see areas of code coverage, etc.. While this would give a good summary, I don't feel it's a viable tool for most devs. I think it would be far fewer tokens used to summarize an existing coverage report than to go run tests AND analyze the code as well. Maybe we could change this to tell goose to run the tests with coverage, and summarize that report instead?
Also, I don't see a good use case here for the memory extension, I think that should be removed.
| - Change: +/- Y% | ||
| ``` | ||
|
|
||
| 8. **Store Summary Metrics in Memory** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see a purpose to storing this in a memory, per my other PR review for daily standups, it would be better if you directed goose to read the previous summary of notes than to keep these stats in a growing list of goose memories that will clutter up other LLM interactions with unnecessary context.
Thank you for your patience in waiting for review. The team was away for the extended weekend in the states and are back reviewing today! Wanted to let you know the team is reviewing your PRs today. However, please note my comment here that you've gone against the rules and self-assigned yourself 5 recipe submission issues at once, when the rules do state within each issue to only assign yourself one at a time, like you mentioned to another community member here. |
that is one of my concerns and i thought that maybe someone will either unassign me or keep some of my prs at draft. I am willing to close any of my prs as requested by the team. @taniandjerry let me know further |
Signed-off-by: Arya Pratap Singh <[email protected]>
Thanks for the feedback, @iandouglas, I've completely refactored the recipe to address your concerns: Changes made:
The memory extension now serves a single, lightweight purpose: track simple improvement ("Coverage improved from 75% to 82%") without polluting context with detailed data. I think now this gives more reason for the devs to use it Is this approach acceptable? |
|
✅ Recipe Validation Passed Your recipe(s) are valid and ready for review! 🔍 Next Steps:
Thanks for contributing to the goose Recipe Cookbook! 🎉 |
|
🔍 Recipe Security Scan Results ✅ Status: APPROVED - All recipes passed security scan 📊 Scan Summary:
📋 Individual Recipe Results: 🔗 View detailed scan results in the workflow artifacts. |
|
Closing some recipe submissions from @ARYPROGRAMMER and accepting their best recipes in single PR here #5125 ! Thank you so much for your contributions. |
Summary
Intermediate recipe that analyzes test coverage gaps and generates actionable recommendations on where to add tests for maximum impact. Identifies critical untested code paths, high-complexity functions with low coverage, and provides specific test case suggestions with examples.
Key Features:
test-coverage-report.mdwith coverage tables, gap analysis, and improvement trackingType of Change
Testing
Primary test command:
Additional Test command:
Screenshots
Manual Testing Completed:
✅ Validated YAML structure and syntax (passed)
✅ Confirmed all required fields present (version, title, description, instructions, prompt, activities)
✅ Verified 2 extensions properly configured (developer, memory)
✅ Confirmed parameter substitution in prompt works correctly
✅ Validated Jinja2 templating with min_coverage and exclude_patterns variables
✅ Verified memory extension stores only lightweight summary data (3 values: coverage %, date, critical files)
✅ Tested multi-framework detection with Jest
✅ Confirmed prioritization workflow: Critical (0% coverage on utils.js) → High (calculator.js functions)
✅ Verified markdown report generation
✅ Tested with sample project achieving 9.75% coverage and identifying gaps correctly
Related Issues
Fixes #5119
Email: [email protected]