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

