UNPKG

deepsource-mcp-server

Version:
105 lines (78 loc) 4.3 kB
# cleanup-issues Clean up GitHub issues by aligning prefixes with commitlint conventions and adding appropriate labels based on content. ## Steps to Execute 1. **List all open issues to review:** ```bash gh issue list --state open --limit 100 --json number,title,labels ``` 2. **Check the commitlint configuration for valid prefixes:** - Read `commitlint.config.js` to see allowed types - Valid prefixes: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert` 3. **Create missing labels if needed:** ```bash gh label create "performance" --description "Performance improvements" --color "1d76db" gh label create "refactoring" --description "Code refactoring" --color "d4c5f9" gh label create "security" --description "Security improvements" --color "d73a4a" gh label create "technical-debt" --description "Technical debt" --color "fef2c0" gh label create "reliability" --description "Reliability improvements" --color "0e8a16" ``` 4. **For each issue, analyze the content and update if needed:** **Prefix Mapping Rules:** | Issue Content | Correct Prefix | Labels to Add | | ----------------------------------------------------- | -------------- | ---------------------------------------- | | New feature, pagination, retry mechanism | `feat:` | enhancement, reliability (if resilience) | | Bug fix, security fix, validation fix | `fix:` | bug, security (if security-related) | | Performance optimization, caching, query optimization | `perf:` | performance | | Code restructuring, normalization, consolidation | `refactor:` | refactoring, technical-debt | | Dependency management, versioning, cleanup | `chore:` | dependencies, technical-debt | | Documentation updates | `docs:` | documentation | | Test additions or changes | `test:` | testing | 5. **Update issues with correct prefixes and labels:** ```bash # Example: Update issue with wrong prefix gh issue edit 158 --title "fix: Tighten logging defaults for security and traceability" gh issue edit 158 --add-label "security" # Example: Change from feat to perf gh issue edit 154 --title "perf: Introduce lightweight caching with TTL for hot paths" gh issue edit 154 --add-label "performance" # Example: Change from feat to refactor gh issue edit 155 --title "refactor: Consolidate to single canonical entrypoint and registry" gh issue edit 155 --add-label "refactoring,technical-debt" ``` 6. **Verify all updates:** ```bash gh issue list --state open --json number,title,labels --jq '.[] | "\(.number): \(.title)\n Labels: \(.labels | map(.name) | join(", "))"' ``` ## Automated Process When running this command, I will: 1. First check `commitlint.config.js` to confirm valid prefixes 2. List all open issues to analyze 3. Create any missing labels needed 4. For each issue: - Check if the current prefix is valid - Analyze the title/content to determine the correct prefix - Update the title if the prefix is wrong - Add appropriate labels based on the issue type 5. Provide a summary of all changes made ## Example Output ``` Reviewing 10 open issues... ✅ Updated #154: "perf: Introduce lightweight caching with TTL" - Changed prefix from 'feat:' to 'perf:' - Added labels: performance ✅ Updated #155: "refactor: Consolidate to single canonical entrypoint" - Changed prefix from 'feat:' to 'refactor:' - Added labels: refactoring, technical-debt ✅ Updated #158: "fix: Tighten logging defaults for security" - Changed prefix from 'security:' to 'fix:' (invalid prefix) - Added labels: security Summary: - 3 issues updated - 7 issues already correct - 4 new labels created ``` ## Notes - Issue titles can use uppercase after the prefix (unlike commit messages) - The command preserves existing valid labels - Only updates issues that need changes - Creates a summary report of all modifications