Files
gh-webdevtodayjason-titaniu…/commands/coderabbit-review.md
2025-11-30 09:05:52 +08:00

7.1 KiB
Raw Permalink Blame History

description
description
Run CodeRabbit CLI analysis on uncommitted changes

CodeRabbit Review Command

You are running CodeRabbit CLI analysis to catch race conditions, memory leaks, security vulnerabilities, and logic errors in uncommitted code changes.

Purpose

CodeRabbit CLI provides AI-powered static analysis that detects:

  • Race conditions in concurrent code
  • Memory leaks and resource leaks
  • Security vulnerabilities
  • Logic errors and edge cases
  • Performance issues
  • Code quality problems

This complements the 3-agent review by finding issues that require deep static analysis.

Prerequisites

CodeRabbit CLI must be installed:

Check installation:

command -v coderabbit >/dev/null 2>&1 || echo "Not installed"

If not installed:

❌ CodeRabbit CLI not found

CodeRabbit CLI is optional but provides enhanced code analysis.

To install:
  curl -fsSL https://cli.coderabbit.ai/install.sh | sh
  source ~/.zshrc  # or your shell rc file

Then authenticate:
  coderabbit auth login

See: https://docs.coderabbit.ai/cli/overview

Skip CodeRabbit and continue? (yes/no)

If skip: Exit If install: Wait for user to install, then continue

Process

Step 1: Check Authentication

coderabbit auth status

If not authenticated:

⚠️  CodeRabbit not authenticated

For enhanced reviews (with team learnings):
  coderabbit auth login

Continue without authentication? (yes/no)

Authentication is optional but provides better reviews (Pro feature).

Step 2: Choose Review Mode

Ask user:

CodeRabbit Review Mode:

1. **AI-Optimized** (--prompt-only)
   - Token-efficient output
   - Optimized for Claude to parse
   - Quick fix application
   - Recommended for workflows

2. **Detailed** (--plain)
   - Human-readable detailed output
   - Comprehensive explanations
   - Good for learning
   - More verbose

Which mode? (1 or 2)

Store choice.

Step 3: Determine Review Scope

Default: Uncommitted changes only

Options:

What should CodeRabbit review?

1. Uncommitted changes only (default)
2. All changes vs main branch
3. All changes vs specific branch

Scope:

Map to flags:

  • Option 1: --type uncommitted
  • Option 2: --base main
  • Option 3: --base [branch name]

Step 4: Run CodeRabbit in Background

For AI-Optimized mode:

# Run in background (can take 7-30 minutes)
coderabbit --prompt-only --type uncommitted

For Detailed mode:

coderabbit --plain --type uncommitted

Use Bash tool with run_in_background: true

Show user:

🤖 CodeRabbit Analysis Running...

This will take 7-30 minutes depending on code size.
Running in background - you can continue working.

I'll check progress periodically.

Step 5: Wait for Completion

Check periodically with BashOutput tool:

# Check if CodeRabbit completed
# Look for completion markers in output

Every 2-3 minutes, show:

CodeRabbit analyzing... ([X] minutes elapsed)

When complete:

✅ CodeRabbit analysis complete!

Step 6: Parse Findings

If --prompt-only mode:

  • Read structured output
  • Extract issues by severity:
    • Critical
    • High
    • Medium
    • Low

If --plain mode:

  • Show full output to user
  • Ask if they want Claude to fix issues

Step 7: Present Findings

🤖 CodeRabbit Analysis Complete

⏱️  Duration: [X] minutes

📊 Findings:
- 🔴 Critical: [X] issues
- 🟠 High: [Y] issues
- 🟡 Medium: [Z] issues
- 🟢 Low: [W] issues

Critical Issues:
1. Race condition in auth.ts:45
   Issue: Shared state access without lock
   Fix: Add mutex or use atomic operations

2. Memory leak in websocket.ts:123
   Issue: Event listener not removed on disconnect
   Fix: Add cleanup in disconnect handler

[List all critical and high issues]

Would you like me to fix these issues?
1. Fix critical and high priority (recommended)
2. Fix critical only
3. Show me the issues, I'll fix manually
4. Skip (not recommended)

Step 8: Apply Fixes (if requested)

For each critical/high issue:

  1. Read the issue details
  2. Locate the problematic code
  3. Apply CodeRabbit's suggested fix
  4. Run relevant tests
  5. Mark as fixed

Show progress:

Fixing issues...
✅ Fixed race condition in auth.ts
✅ Fixed memory leak in websocket.ts
✅ Fixed SQL injection in users.ts
⏳ Fixing error handling in api.ts...

Step 9: Optional Re-run

After fixes:

Fixes applied: [X] critical, [Y] high

Re-run CodeRabbit to verify fixes? (yes/no)

If yes:

coderabbit --prompt-only --type uncommitted

Check no new critical issues introduced.

Step 10: Store in Pieces

mcp__Pieces__create_pieces_memory(
  summary_description: "CodeRabbit review findings for [files]",
  summary: "CodeRabbit CLI analysis complete. Findings: [X] critical, [Y] high, [Z] medium, [W] low. Critical issues: [list]. High issues: [list]. Fixes applied: [what was fixed]. Duration: [X] minutes. Verified: [yes/no].",
  files: [
    "list all reviewed files",
    ".titanium/coderabbit-report.md" (if created)
  ],
  project: "$(pwd)"
)

Step 11: Present Summary

✅ CodeRabbit Review Complete!

📊 Summary:
- Duration: [X] minutes
- Files reviewed: [N]
- Issues found: [Total]
  - Critical: [X] ([fixed/pending])
  - High: [Y] ([fixed/pending])
  - Medium: [Z]
  - Low: [W]

✅ Critical issues: All fixed
✅ High priority: All fixed
⚠️  Medium/Low: Review manually if needed

💾 Findings stored in Pieces

---

Next steps:
1. Run tests to verify fixes
2. Run /titanium:review for additional validation
3. Or continue with your workflow

Error Handling

If CodeRabbit Not Installed

⚠️  CodeRabbit CLI not found

CodeRabbit is optional but provides enhanced static analysis.

Would you like to:
1. Install now (I'll guide you)
2. Skip and use 3-agent review only
3. Cancel

Choose:

If CodeRabbit Times Out

⏰ CodeRabbit taking longer than expected

Analysis started [X] minutes ago.
Typical duration: 7-30 minutes.

Options:
1. Keep waiting
2. Cancel and proceed without CodeRabbit
3. Check CodeRabbit output so far

What would you like to do?

If No Changes to Review

  No uncommitted changes found

CodeRabbit needs changes to review.

Options:
1. Review all changes vs main branch
2. Specify different base branch
3. Cancel

Choose:

Integration with Workflow

Standalone Usage

/coderabbit:review
# Runs analysis
# Applies fixes
# Done

Part of /titanium:work

/titanium:work
# ... implementation ...
# Phase 3.5: CodeRabbit (if installed)
# ... 3-agent review ...
# Complete

Before Committing

# Before commit
/coderabbit:review
# Fix critical issues
# Then commit

Voice Feedback

Voice hooks announce:

  • "Running CodeRabbit analysis" (when starting)
  • "CodeRabbit complete: [X] issues found" (when done)
  • "Applying CodeRabbit fixes" (during fixes)
  • "CodeRabbit fixes complete" (after fixes)

Cost

CodeRabbit pricing:

  • Free tier: Basic analysis, limited usage
  • Pro: Enhanced reviews with learnings
  • Enterprise: Custom limits

Not included in titanium-toolkit pricing - separate service.


This command provides deep static analysis to catch issues agents might miss!