CodeRabbit + Claude Codeで自動修正したら、開発日誌も残そう

CodeRabbitでAIコードレビューを受けて、Claude Codeで自動修正する流れは非常に効率的です。しかし、実際に運用してみると「あれ、何を修正したんだっけ?」という問題が発生します。

この記事では、CodeRabbitの指摘をClaude Codeで修正する際に、開発日誌を残す重要性と具体的な方法を解説します。

    なぜ修正内容を記録すべきか

    CodeRabbit + Claude Codeの連携は強力ですが、以下の問題が起きがちです。

    問題1:何を修正したか分からなくなる

    coderabbit --prompt-only → Claude Codeに貼り付け → 自動修正 → コミット
    

    この流れで作業すると、数日後に「このコード、なんでこうなってるんだっけ?」となります。

    問題2:不具合発生時に原因特定が困難

    自動修正後にバグが発生した場合、「どの修正が原因か」を特定するのに時間がかかります。

    問題3:AIの指摘が必ずしも正解ではない

    CodeRabbitは「ベストプラクティス」を推奨しますが、実際の運用環境では適用できないケースもあります。

    実際のエピソード:環境変数化の指摘

    CodeRabbitから以下の指摘を受けました。

    セキュリティ: APIキーがハードコードされています。環境変数に移行してください。

    これは正しい指摘です。Claude Codeに修正を依頼すると、以下のように変更されました。

    # Before
    OPENROUTER_API_KEY = "sk-xxxxx..."
    
    # After
    OPENROUTER_API_KEY = os.environ.get("OPENROUTER_API_KEY")
    if not OPENROUTER_API_KEY:
        raise ValueError("OPENROUTER_API_KEY environment variable is required")
    

    しかし、レンタルサーバー(カラフルボックス等)では問題が発生しました。

    共用サーバーでの問題

    環境 環境変数の扱い
    VPS・専用サーバー .bashrc.env で安定して設定可能
    共用サーバー .bashrc やcron環境での変数引き継ぎが不安定

    共用サーバーでは、cronジョブ実行時に環境変数が読み込まれないケースがありました。

    対応策

    結局、以下の方針に変更しました。

    # 環境変数優先、なければconfig.pyの値を使用
    OPENROUTER_API_KEY = os.environ.get("OPENROUTER_API_KEY", "sk-xxxxx...")
    

    または、環境変数を使わず config.py に直接記述し、.gitignore でリポジトリから除外する方式を採用しました。

    学び

    AIの指摘 ≠ 絶対正解

    CodeRabbitは一般的なベストプラクティスを推奨しますが、自分の運用環境に合わせた判断が必要です。この判断を記録しておかないと、後で「なぜこうしたのか」が分からなくなります。

    解決策:開発日誌(/devlog)の活用

    Claude Codeの Slash Commands 機能を使って、修正完了時に開発日誌を自動生成します。

    設定方法

    .claude/commands/devlog.md を作成します。

    ---
    description: 開発日誌を作成
    ---
    
    # 開発日誌の作成
    
    現在のセッションの開発日誌を作成してください。
    
    ## 出力先
    `logs/devlog/` ディレクトリに以下の形式で作成:
    - ファイル名な`YYYY-MM-DD_TaskX.X_機能名.md`
    
    ## 記載内容
    - やったこと(具体的な修正内容)
    - なぜこの設計にしたか(判断理由)
    - 試行錯誤した点
    - 継続タスク
    

    使い方

    CodeRabbit修正が完了したら、以下を実行するだけです。

    /devlog Task 1.0: CodeRabbit修正
    

    実際の開発日誌の例

    以下は、CodeRabbit指摘の修正後に生成された開発日誌の抜粋です。

    # 開発日誌 - 2026-02-05
    
    ## セッション概要
    - 作業内容なCodeRabbitレビューで指摘された全28件を修正
    - 対象ファイル数な12ファイル
    - 修正件数な28件
    
    ## 実施作業の詳細
    
    ### セキュリティ修正
    - `config.py`: APIキーを環境変数化
    - `rss-portal.php`: innerHTML → DOM API(XSS対策)
    - `database.py`: defusedxml使用(XXE攻撃対策)
    
    ### なぜこの設計にしたか
    
    | 判断 | 選択 | 理由 |
    |------|------|------|
    | XSS対策 | innerHTML → DOM API | サニタイズ関数より根本的に安全 |
    | defusedxml | try/importフォールバック | 移行期間中の安全策 |
    | UTC処理 | calendar.timegm | feedparserの仕様に合わせた |
    
    ### 試行錯誤した点
    - `sendFeedback` のエラーハンドリングで、楽観的UI更新の
      ロールバックを考慮する必要があった
    
    ## 継続タスク
    - [ ] `OPENROUTER_API_KEY` が本番で設定されているか確認
    - [ ] `CORS_ORIGINS` の環境変数化を検討
    

    このように記録しておくと、後から見返した時に「何をどう判断したか」が明確になります。

    修正内容のダブルチェック

    さらに、CodeRabbitのレビュー結果と開発日誌をClaudeに渡して、修正内容が適切かチェックしてもらうこともできます。

    CodeRabbitレビューからコード修正してもらいましたが、
    修正内容が適切かチェックしてもらえますか。
    

    Claudeが修正内容を評価し、以下のようにフィードバックしてくれます。

    修正内容を確認しました。全体的に適切な修正がなされています。
    
    ✅ 適切な修正(27件)
    | カテゴリ | 修正内容 | 評価 |
    |---------|---------|------|
    | セキュリティ | APIキー環境変数化 | ◎ 必須対応 |
    | セキュリティ | innerHTML → DOM API | ◎ XSS対策として最も確実 |
    | データ整合性 | PRAGMA foreign_keys = ON | ◎ SQLiteの落とし穴対策 |
    
    ⚠️ 注意点
    - 環境変数が本番で設定されているか確認が必要
    - CORS_ORIGINSの環境変数化が未対応
    

    推奨ワークフロー

    CodeRabbit + Claude Code + 開発日誌を組み合わせた推奨ワークフローです。

    1. coderabbit --prompt-only でレビュー取得
    2. Claude Codeで修正
    3. /devlog で開発日誌を作成
    4. 修正内容をClaudeにダブルチェックしてもらう(任意)
    5. git commit & push
    

    定型指示に組み込む

    毎回のタスク完了時に自動で日誌を書くよう、指示テンプレートに組み込んでおくと便利です。

    <strong>Task X.X.4: Record & Commit(記録・コミット)</strong>
    
    <strong>開発日誌</strong>:
    - /devlog Task X.X: [機能名]
    
    <strong>ドキュメント更新</strong>:
    - @logs/CHANGELOG.md更新(実装内容)
    - @logs/ERRORLOG.md更新(問題があった場合)
    - @logs/PATTERNS.md更新(新しい知見)
    

    まとめ

    CodeRabbit + Claude Codeは強力な組み合わせですが、修正内容を記録する仕組みがないと後で困ります。

    記録すべき理由

    • 何を修正したか後から追跡できる
    • 不具合発生時に原因特定が容易
    • AIの指摘を鵜呑みにせず、判断理由を残せる
    • ブログ記事や引き継ぎ資料の素材になる

    実践のポイント

    • /devlog コマンドで開発日誌を自動生成
    • 「なぜこの設計にしたか」を必ず記録
    • 修正後にClaudeでダブルチェック(任意)

    CodeRabbitは無料で高品質なレビューを提供してくれます。その価値を最大限活かすためにも、修正内容の記録を習慣化してみてください。

    参考リンク

    関連記事