mit einem Klick
techdebt
// Analyze branch changes for technical debt, code duplication, and unnecessary complexity
// Analyze branch changes for technical debt, code duplication, and unnecessary complexity
Converts Spock/Groovy test files in a Gradle module to equivalent JUnit 5 Java tests. Use when asked to "migrate groovy", "convert groovy to java", "g2j", or when a module has .groovy test files that need to be replaced with .java equivalents.
Write a new library instrumentation end-to-end. Use when the user ask to add a new APM integration or a library instrumentation.
Convert JUnit 5 @MethodSource/@CsvSource/@ValueSource parameterized tests to @TableTest (JDK8)
| name | techdebt |
| description | Analyze branch changes for technical debt, code duplication, and unnecessary complexity |
| user-invocable | true |
| context | fork |
| allowed-tools | ["Bash","Read","Grep","Glob"] |
Analyze changes on the current branch to identify and fix technical debt, code duplication, and unnecessary complexity.
Find the merge-base (where this branch diverged from master) and compare against it:
# Find upstream (DataDog org repo)
UPSTREAM=$(git remote -v | grep -E 'DataDog/[^/]+(.git)?\s' | head -1 | awk '{print $1}')
if [ -z "$UPSTREAM" ]; then
echo "No DataDog upstream found, using origin"
UPSTREAM="origin"
fi
# Find the merge-base (commit where this branch diverged from master)
MERGE_BASE=$(git merge-base HEAD ${UPSTREAM}/master)
echo "Comparing changes introduced on this branch since diverging from master using base commit: $MERGE_BASE"
git diff $MERGE_BASE --stat
git diff $MERGE_BASE --name-status
If no changes exist, inform the user and stop.
If changes exist, read the diff and the full content of modified source files (not test files) to understand context.
Look for:
Code Duplication
Unnecessary Complexity
Redundant Code
Present a concise summary of issues found with file:line references.
Then ask the user if they want you to fix the issues. When fixing: