technical debt tracker recipe#5451
technical debt tracker recipe#5451taniacryptid merged 8 commits intoblock:mainfrom Better-Boy:tech-debt-tracker-recipe
Conversation
Signed-off-by: Better-Boy <panaroma365@gmail.com>
|
✅ 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. |
There was a problem hiding this comment.
Pull Request Overview
This PR adds a comprehensive technical debt tracking system consisting of a main recipe and five sub-recipes. The system enables automated analysis of code repositories to identify and prioritize various forms of technical debt.
- Introduces a main
technical-debt-tracker.yamlrecipe that orchestrates five specialized analysis sub-recipes - Creates five sub-recipes for analyzing complexity, test coverage, documentation, dependencies, and code duplication
- Provides parameterized configuration with sensible defaults for complexity thresholds, test coverage requirements, and dependency age limits
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| technical-debt-tracker.yaml | Main orchestrating recipe that coordinates five sub-recipes to produce a consolidated technical debt report with prioritized recommendations |
| complexity-analysis.yaml | Sub-recipe analyzing cyclomatic complexity, function length, nesting depth, and class size to identify overly complex code |
| test-coverage-analysis.yaml | Sub-recipe identifying untested code paths and suggesting missing test cases for critical functionality |
| documentation-analysis.yaml | Sub-recipe checking for missing or inadequate documentation in README, API docs, and inline comments |
| dependency-analysis.yaml | Sub-recipe auditing dependencies for outdated versions, security vulnerabilities, and maintenance issues |
| duplication-detection.yaml | Sub-recipe finding duplicated code blocks and suggesting refactoring strategies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
documentation/src/pages/recipes/data/recipes/technical-debt-tracker.yaml
Outdated
Show resolved
Hide resolved
| path: "./sub-recipes/complexity-analysis.yaml" | ||
| values: | ||
| complexity_threshold: "{{ complexity_threshold }}" | ||
|
|
||
| - name: "test_coverage_analyzer" | ||
| path: "./sub-recipes/test-coverage-analysis.yaml" | ||
| values: | ||
| min_coverage: "{{ min_test_coverage }}" | ||
|
|
||
| - name: "documentation_analyzer" | ||
| path: "./sub-recipes/documentation-analysis.yaml" | ||
| values: | ||
| check_readme: "true" | ||
| check_api_docs: "true" | ||
|
|
||
| - name: "dependency_analyzer" | ||
| path: "./sub-recipes/dependency-analysis.yaml" | ||
| values: | ||
| max_age_days: "{{ max_dependency_age_days }}" | ||
| check_vulnerabilities: "true" | ||
|
|
||
| - name: "duplication_detector" | ||
| path: "./sub-recipes/duplication-detection.yaml" |
There was a problem hiding this comment.
The sub-recipe paths use ./sub-recipes/ but the actual directory is named subrecipes (without hyphen) as shown in the file structure. This will cause recipe lookup failures at runtime. Update all paths to use ./subrecipes/ instead.
| path: "./sub-recipes/complexity-analysis.yaml" | |
| values: | |
| complexity_threshold: "{{ complexity_threshold }}" | |
| - name: "test_coverage_analyzer" | |
| path: "./sub-recipes/test-coverage-analysis.yaml" | |
| values: | |
| min_coverage: "{{ min_test_coverage }}" | |
| - name: "documentation_analyzer" | |
| path: "./sub-recipes/documentation-analysis.yaml" | |
| values: | |
| check_readme: "true" | |
| check_api_docs: "true" | |
| - name: "dependency_analyzer" | |
| path: "./sub-recipes/dependency-analysis.yaml" | |
| values: | |
| max_age_days: "{{ max_dependency_age_days }}" | |
| check_vulnerabilities: "true" | |
| - name: "duplication_detector" | |
| path: "./sub-recipes/duplication-detection.yaml" | |
| path: "./subrecipes/complexity-analysis.yaml" | |
| values: | |
| complexity_threshold: "{{ complexity_threshold }}" | |
| - name: "test_coverage_analyzer" | |
| path: "./subrecipes/test-coverage-analysis.yaml" | |
| values: | |
| min_coverage: "{{ min_test_coverage }}" | |
| - name: "documentation_analyzer" | |
| path: "./subrecipes/documentation-analysis.yaml" | |
| values: | |
| check_readme: "true" | |
| check_api_docs: "true" | |
| - name: "dependency_analyzer" | |
| path: "./subrecipes/dependency-analysis.yaml" | |
| values: | |
| max_age_days: "{{ max_dependency_age_days }}" | |
| check_vulnerabilities: "true" | |
| - name: "duplication_detector" | |
| path: "./subrecipes/duplication-detection.yaml" |
documentation/src/pages/recipes/data/recipes/technical-debt-tracker.yaml
Outdated
Show resolved
Hide resolved
| path: "./sub-recipes/complexity-analysis.yaml" | ||
| values: | ||
| complexity_threshold: "{{ complexity_threshold }}" | ||
|
|
||
| - name: "test_coverage_analyzer" | ||
| path: "./sub-recipes/test-coverage-analysis.yaml" | ||
| values: | ||
| min_coverage: "{{ min_test_coverage }}" | ||
|
|
||
| - name: "documentation_analyzer" | ||
| path: "./sub-recipes/documentation-analysis.yaml" | ||
| values: | ||
| check_readme: "true" | ||
| check_api_docs: "true" | ||
|
|
||
| - name: "dependency_analyzer" | ||
| path: "./sub-recipes/dependency-analysis.yaml" | ||
| values: | ||
| max_age_days: "{{ max_dependency_age_days }}" | ||
| check_vulnerabilities: "true" | ||
|
|
||
| - name: "duplication_detector" | ||
| path: "./sub-recipes/duplication-detection.yaml" |
There was a problem hiding this comment.
The sub-recipe paths use ./sub-recipes/ but the actual directory is named subrecipes (without hyphen) as shown in the file structure. This will cause recipe lookup failures at runtime. Update all paths to use ./subrecipes/ instead.
| path: "./sub-recipes/complexity-analysis.yaml" | |
| values: | |
| complexity_threshold: "{{ complexity_threshold }}" | |
| - name: "test_coverage_analyzer" | |
| path: "./sub-recipes/test-coverage-analysis.yaml" | |
| values: | |
| min_coverage: "{{ min_test_coverage }}" | |
| - name: "documentation_analyzer" | |
| path: "./sub-recipes/documentation-analysis.yaml" | |
| values: | |
| check_readme: "true" | |
| check_api_docs: "true" | |
| - name: "dependency_analyzer" | |
| path: "./sub-recipes/dependency-analysis.yaml" | |
| values: | |
| max_age_days: "{{ max_dependency_age_days }}" | |
| check_vulnerabilities: "true" | |
| - name: "duplication_detector" | |
| path: "./sub-recipes/duplication-detection.yaml" | |
| path: "./subrecipes/complexity-analysis.yaml" | |
| values: | |
| complexity_threshold: "{{ complexity_threshold }}" | |
| - name: "test_coverage_analyzer" | |
| path: "./subrecipes/test-coverage-analysis.yaml" | |
| values: | |
| min_coverage: "{{ min_test_coverage }}" | |
| - name: "documentation_analyzer" | |
| path: "./subrecipes/documentation-analysis.yaml" | |
| values: | |
| check_readme: "true" | |
| check_api_docs: "true" | |
| - name: "dependency_analyzer" | |
| path: "./subrecipes/dependency-analysis.yaml" | |
| values: | |
| max_age_days: "{{ max_dependency_age_days }}" | |
| check_vulnerabilities: "true" | |
| - name: "duplication_detector" | |
| path: "./subrecipes/duplication-detection.yaml" |
| path: "./sub-recipes/complexity-analysis.yaml" | ||
| values: | ||
| complexity_threshold: "{{ complexity_threshold }}" | ||
|
|
||
| - name: "test_coverage_analyzer" | ||
| path: "./sub-recipes/test-coverage-analysis.yaml" | ||
| values: | ||
| min_coverage: "{{ min_test_coverage }}" | ||
|
|
||
| - name: "documentation_analyzer" | ||
| path: "./sub-recipes/documentation-analysis.yaml" | ||
| values: | ||
| check_readme: "true" | ||
| check_api_docs: "true" | ||
|
|
||
| - name: "dependency_analyzer" | ||
| path: "./sub-recipes/dependency-analysis.yaml" | ||
| values: | ||
| max_age_days: "{{ max_dependency_age_days }}" | ||
| check_vulnerabilities: "true" | ||
|
|
||
| - name: "duplication_detector" | ||
| path: "./sub-recipes/duplication-detection.yaml" |
There was a problem hiding this comment.
The sub-recipe paths use ./sub-recipes/ but the actual directory is named subrecipes (without hyphen) as shown in the file structure. This will cause recipe lookup failures at runtime. Update all paths to use ./subrecipes/ instead.
| path: "./sub-recipes/complexity-analysis.yaml" | |
| values: | |
| complexity_threshold: "{{ complexity_threshold }}" | |
| - name: "test_coverage_analyzer" | |
| path: "./sub-recipes/test-coverage-analysis.yaml" | |
| values: | |
| min_coverage: "{{ min_test_coverage }}" | |
| - name: "documentation_analyzer" | |
| path: "./sub-recipes/documentation-analysis.yaml" | |
| values: | |
| check_readme: "true" | |
| check_api_docs: "true" | |
| - name: "dependency_analyzer" | |
| path: "./sub-recipes/dependency-analysis.yaml" | |
| values: | |
| max_age_days: "{{ max_dependency_age_days }}" | |
| check_vulnerabilities: "true" | |
| - name: "duplication_detector" | |
| path: "./sub-recipes/duplication-detection.yaml" | |
| path: "./subrecipes/complexity-analysis.yaml" | |
| values: | |
| complexity_threshold: "{{ complexity_threshold }}" | |
| - name: "test_coverage_analyzer" | |
| path: "./subrecipes/test-coverage-analysis.yaml" | |
| values: | |
| min_coverage: "{{ min_test_coverage }}" | |
| - name: "documentation_analyzer" | |
| path: "./subrecipes/documentation-analysis.yaml" | |
| values: | |
| check_readme: "true" | |
| check_api_docs: "true" | |
| - name: "dependency_analyzer" | |
| path: "./subrecipes/dependency-analysis.yaml" | |
| values: | |
| max_age_days: "{{ max_dependency_age_days }}" | |
| check_vulnerabilities: "true" | |
| - name: "duplication_detector" | |
| path: "./subrecipes/duplication-detection.yaml" |
documentation/src/pages/recipes/data/recipes/subrecipes/complexity-analysis.yaml
Outdated
Show resolved
Hide resolved
documentation/src/pages/recipes/data/recipes/subrecipes/test-coverage-analysis.yaml
Outdated
Show resolved
Hide resolved
documentation/src/pages/recipes/data/recipes/subrecipes/documentation-analysis.yaml
Outdated
Show resolved
Hide resolved
documentation/src/pages/recipes/data/recipes/subrecipes/dependency-analysis.yaml
Outdated
Show resolved
Hide resolved
documentation/src/pages/recipes/data/recipes/subrecipes/duplication-detection.yaml
Outdated
Show resolved
Hide resolved
|
Tagging teammates to help review since it otherwise looks good! @blackgirlbytes @EbonyLouis |
|
✅ Recipe Validation Passed Your recipe(s) are valid and ready for review! 🔍 Next Steps:
Thanks for contributing to the goose Recipe Cookbook! 🎉 |
6 similar comments
|
✅ Recipe Validation Passed Your recipe(s) are valid and ready for review! 🔍 Next Steps:
Thanks for contributing to the goose Recipe Cookbook! 🎉 |
|
✅ Recipe Validation Passed Your recipe(s) are valid and ready for review! 🔍 Next Steps:
Thanks for contributing to the goose Recipe Cookbook! 🎉 |
|
✅ Recipe Validation Passed Your recipe(s) are valid and ready for review! 🔍 Next Steps:
Thanks for contributing to the goose Recipe Cookbook! 🎉 |
|
✅ Recipe Validation Passed Your recipe(s) are valid and ready for review! 🔍 Next Steps:
Thanks for contributing to the goose Recipe Cookbook! 🎉 |
|
✅ Recipe Validation Passed Your recipe(s) are valid and ready for review! 🔍 Next Steps:
Thanks for contributing to the goose Recipe Cookbook! 🎉 |
|
✅ 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. |
…acker.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Better-Boy <panaroma365@gmail.com>
…acker.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Better-Boy <panaroma365@gmail.com>
…xity-analysis.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Better-Boy <panaroma365@gmail.com>
…ation-detection.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Better-Boy <panaroma365@gmail.com>
…ency-analysis.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Better-Boy <panaroma365@gmail.com>
…ntation-analysis.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Better-Boy <panaroma365@gmail.com>
…overage-analysis.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Better-Boy <panaroma365@gmail.com>
|
✅ 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. |
taniacryptid
left a comment
There was a problem hiding this comment.
Thank you for addressing the feedback! This looks good, thank you so much for contributing ❤️
* 'main' of github.com:block/goose: (81 commits) nextcamp - fix session resume when navigating back to chat in sidebar (#5370) feat/fix: set optional config params, and don't overwrite unset secrets (#5325) Stringly typed config (#5463) Fix: Compaction client <-> server sync (#5481) docs: recipe activity parameter substitution (#5462) only run fork on branch PRs (#5461) docs: video on goose with apify mcp (#5472) Clear windows and fix build failure (#5452) Add menu option for setting window always on top (#5429) Delete environment variable (#5479) chore: upgrade rmcp to 0.8.3 (#5458) docs: add "Building Custom Tools and Extensions for Goose" (#5469) Doc (Blog): Managing goose Configurations Across Multiple Projects (#5467) apify doc fix (#5460) Stream token usage on every agent message (#5342) rpm install in /opt/Goose to avoid conflicts with chrome-sandbox (#5421) Don't disable extensions after they fail to activate in new chat session (#5464) Add OTLP logs layer (#5386) openapi to locust load test generator recipe (#5447) technical debt tracker recipe (#5451) ... # Conflicts: # ui/desktop/src/components/ChatInput.tsx
Signed-off-by: Better-Boy <panaroma365@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: fbalicchia <fbalicchia@gmail.com>
Signed-off-by: Better-Boy <panaroma365@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Blair Allan <Blairallan@icloud.com>
Fixes #4709