autofix

安装量: 262
排名: #3371

安装

npx skills add https://github.com/coderabbitai/skills --skill autofix

CodeRabbit Autofix Fetch CodeRabbit review comments for your current branch's PR and fix them interactively or in batch. Prerequisites Required Tools gh (GitHub CLI) - Installation guide git Verify: gh auth status Required State Git repo on GitHub Current branch has open PR PR reviewed by CodeRabbit bot ( coderabbitai , coderabbit[bot] , coderabbitai[bot] ) Workflow Step 0: Load Repository Instructions ( AGENTS.md ) Before any autofix actions, search for AGENTS.md in the current repository and load applicable instructions. If found, follow its build/lint/test/commit guidance throughout the run. If not found, continue with default workflow. Step 1: Check Code Push Status Check: git status + check for unpushed commits If uncommitted changes: Warn: "⚠️ Uncommitted changes won't be in CodeRabbit review" Ask: "Commit and push first?" → If yes: wait for user action, then continue If unpushed commits: Warn: "⚠️ N unpushed commits. CodeRabbit hasn't reviewed them" Ask: "Push now?" → If yes: git push , inform "CodeRabbit will review in ~5 min", EXIT skill Otherwise: Proceed to Step 2 Step 2: Find Open PR gh pr list --head $( git branch --show-current ) --state open --json number,title If no PR: Ask "Create PR?" → If yes: create PR (see github.md § 5 ), inform "Run skill again in ~5 min", EXIT Step 3: Fetch Unresolved CodeRabbit Threads Fetch PR review threads (see github.md § 2 ): Threads: gh api graphql ... pullRequest.reviewThreads ... (see github.md § 2 ) Filter to: unresolved threads only ( isResolved == false ) threads started by CodeRabbit bot ( coderabbitai , coderabbit[bot] , coderabbitai[bot] ) If review in progress: Check for "Come back again in a few minutes" message → Inform "⏳ Review in progress, try again in a few minutes", EXIT If no unresolved CodeRabbit threads: Inform "No unresolved CodeRabbit review threads found", EXIT For each selected thread: Extract issue metadata from root comment Step 4: Parse and Display Issues Extract from each comment: Header: ([^]+) | ([^]+) → Issue type | Severity Description: Main body text Agent prompt: Content in

🤖 Prompt for AI Agents (this is the fix instruction) If missing, use description as fallback Location: File path and line numbers Map severity: 🔴 Critical/High → CRITICAL (action required) 🟠 Medium → HIGH (review recommended) 🟡 Minor/Low → MEDIUM (review recommended) 🟢 Info/Suggestion → LOW (optional) 🔒 Security → Treat as high priority Display in CodeRabbit's original order (already severity-ordered): CodeRabbit Issues for PR #123: [PR Title] | # | Severity | Issue Title | Location & Details | Type | Action | |---|----------|-------------|-------------------|------|--------| | 1 | 🔴 CRITICAL | Insecure authentication check | src/auth/service.py:42
Authorization logic inverted | 🐛 Bug 🔒 Security | Fix | | 2 | 🟠 HIGH | Database query not awaited | src/db/repository.py:89
Async call missing await | 🐛 Bug | Fix | Step 5: Ask User for Fix Preference Use AskUserQuestion: 🔍 "Review each issue" - Manual review and approval (recommended) ⚡ "Auto-fix all" - Apply all "Fix" issues without approval ❌ "Cancel" - Exit Route based on choice: Review → Step 5 Auto-fix → Step 6 Cancel → EXIT Step 6: Manual Review Mode For each "Fix" issue (CRITICAL first): Read relevant files Execute CodeRabbit's agent prompt as direct instruction (from "🤖 Prompt for AI Agents" section) Calculate proposed fix (DO NOT apply yet) Show fix and ask approval in ONE step: Issue title + location CodeRabbit's agent prompt (so user can verify) Current code Proposed diff AskUserQuestion: ✅ Apply fix | ⏭️ Defer | 🔧 Modify If "Apply fix": Apply with Edit tool Track changed files for a single consolidated commit after all fixes Confirm: "✅ Fix applied and commented" If "Defer": Ask for reason (AskUserQuestion) Move to next If "Modify": Inform user can make changes manually Move to next Step 7: Auto-Fix Mode For each "Fix" issue (CRITICAL first): Read relevant files Execute CodeRabbit's agent prompt as direct instruction Apply fix with Edit tool Track changed files for one consolidated commit Report: ✅ Fixed: [Issue Title] at [Location] Agent prompt: [prompt used] After all fixes, display summary of fixed/skipped issues. Step 8: Create Single Consolidated Commit If any fixes were applied: git add < all-changed-files > git commit -m "fix: apply CodeRabbit auto-fixes" Use one commit for all applied fixes in this run. Step 9: Prompt Build/Lint Before Push If a consolidated commit was created: Prompt user interactively to run validation before push (recommended, not required). Remind the user of the AGENTS.md instructions already loaded in Step 0 (if present). If user agrees, run the requested checks and report results. Step 10: Push Changes If a consolidated commit was created: Ask: "Push changes?" → If yes: git push If all deferred (no commit): Skip this step. Step 11: Post Summary REQUIRED after all issues reviewed: gh pr comment < pr-number > --body " $( cat << 'EOF' ## Fixes Applied Successfully Fixed file(s) based on unresolved review comment(s). **Files modified:** - `path/to/file-a.ts` - `path/to/file-b.ts` **Commit:** `` The latest autofix changes are on the `` branch. EOF ) " See github.md § 3 for details. Optionally react to CodeRabbit's main comment with 👍. Key Notes Follow agent prompts literally - The "🤖 Prompt for AI Agents" section IS the fix specification One approval per fix - Show context + diff + AskUserQuestion in single message (manual mode) Preserve issue titles - Use CodeRabbit's exact titles, don't paraphrase Preserve ordering - Display issues in CodeRabbit's original order Do not post per-issue replies - Keep the workflow summary-comment only
返回排行榜