# Roo Code フィードバックシステム

このファイルは、Roo Codeがルールを適切に適用しているかを確認するためのフィードバック機能を定義します。

## 🔍 ルール適用の可視化

### コード作成時の自動フィードバック
Roo Codeは以下の形式でルール適用状況を報告します：

```markdown
## 📋 品質チェック適用状況

### ✅ 適用済みルール
- **型ヒント**: 全関数に`typing`モジュールを使用
- **docstring**: Google形式でパブリックAPIに記述
- **エラーハンドリング**: `TreeSitterAnalyzerError`基底クラス使用
- **非同期処理**: `async/await`パターンとリソース管理実装
- **セキュリティ**: `validate_file_path()`でパス検証実装

### ⚠️ 注意事項
- 大きなファイル処理時のメモリ効率を考慮
- テストカバレッジ80%を目標に設定

### 🎯 品質指標
- 行長制限: 88文字以内
- MyPy型チェック: エラーなし
- Banditセキュリティチェック: 警告なし
```

## 🎯 フィードバック要求コマンド

ユーザーは以下のフレーズでRoo Codeにルール適用状況の報告を要求できます：

### 基本的な確認
- **「ルールチェックして」**
- **「品質基準を確認して」**
- **「コーディング規約に従っているか確認して」**

### 詳細な確認
- **「pre-commitルールに準拠しているか確認して」**
- **「セキュリティ要件を満たしているか確認して」**
- **「テストカバレッジを確認して」**

## 📊 自動品質レポート

### コード作成完了時の自動レポート
Roo Codeは重要なコード作成後に以下のレポートを自動生成します：

```markdown
## 🏆 品質レポート

### 📈 適用された品質基準
| 項目 | 状況 | 詳細 |
|------|------|------|
| 型ヒント | ✅ | 全関数に適用済み |
| docstring | ✅ | Google形式で記述 |
| エラーハンドリング | ✅ | 適切な例外階層使用 |
| 非同期処理 | ✅ | リソース管理実装 |
| セキュリティ | ✅ | パス検証・サニタイゼーション |
| テスト | ⚠️ | 作成推奨 |

### 🔧 推奨改善点
- [ ] 単体テストの追加
- [ ] 統合テストの作成
- [ ] パフォーマンステストの実装

### 📋 次のステップ
1. `uv run pytest tests/` でテスト実行
2. `uv run pre-commit run --all-files` で品質チェック
3. `uv run mypy tree_sitter_analyzer/` で型チェック
```

## 🚨 ルール違反の警告

### 自動警告システム
Roo Codeがルール違反を検出した場合の警告形式：

```markdown
⚠️ **品質基準違反を検出**

### 🔴 修正が必要な項目
- **型ヒント不足**: `analyze_file()`関数に戻り値の型ヒントがありません
- **docstring不足**: `AnalysisEngine`クラスにdocstringがありません
- **エラーハンドリング**: 具体的な例外クラスの使用を推奨

### 🔧 修正提案
```python
async def analyze_file(file_path: Path) -> Dict[str, Any]:
    """ファイル分析を実行する。
    
    Args:
        file_path: 分析対象ファイルのパス
        
    Returns:
        分析結果を含む辞書
        
    Raises:
        FileNotFoundError: ファイルが見つからない場合
        ParseError: パース失敗時
    """
```

## 🎨 コードレビュー風フィードバック

### 詳細レビューコメント
```markdown
## 👨‍💻 コードレビュー

### 🌟 良い点
- 適切な型ヒントの使用
- 明確な関数名とdocstring
- セキュリティ要件の考慮

### 🔄 改善提案
- **L15**: `except Exception`は具体的な例外に変更を推奨
- **L23**: ログレベルを`INFO`から`DEBUG`に変更を検討
- **L45**: キャッシュサイズの設定を外部化することを推奨

### 📚 参考ルール
- [エラーハンドリングパターン](./project-best-practices.md#エラーハンドリング)
- [ログ設定ガイドライン](./project-best-practices.md#ログ設定)
```

## 🔄 継続的フィードバック

### プロジェクト全体の品質状況
```markdown
## 📊 プロジェクト品質ダッシュボード

### 🎯 品質指標達成状況
- **型ヒントカバレッジ**: 95% (目標: 100%)
- **docstringカバレッジ**: 88% (目標: 100%)
- **テストカバレッジ**: 82% (目標: 80%) ✅
- **セキュリティスコア**: 98% (目標: 95%) ✅

### 📈 改善トレンド
- 前回比較: 型ヒント +5%, docstring +12%
- 新規追加: セキュリティ検証機能

### 🎪 次回の重点項目
1. 残り5%の型ヒント追加
2. パブリックAPIのdocstring完成
3. エッジケーステストの追加
```

## 🤖 インタラクティブ確認

### 質問形式での確認
Roo Codeは以下のような質問でユーザーの意図を確認します：

```markdown
## 🤔 品質基準の確認

現在のコード実装について確認させてください：

1. **セキュリティレベル**: 
   - 🔒 高セキュリティ（本番環境用）
   - 🔓 標準セキュリティ（開発環境用）

2. **パフォーマンス優先度**:
   - ⚡ 高速処理優先
   - 💾 メモリ効率優先
   - ⚖️ バランス重視

3. **テスト戦略**:
   - 🧪 単体テスト重視
   - 🔗 統合テスト重視
   - 📊 両方同等

ご希望に応じて実装方針を調整いたします。
```

## 📝 フィードバック要求の例

### ユーザーからの確認要求例
```
「今作成したコードがルールに従っているか確認して」
「品質基準チェックレポートを出して」
「セキュリティ要件を満たしているか教えて」
「pre-commitで通るか確認して」
```

### Roo Codeの応答例
```markdown
## 🔍 品質基準チェック結果

### ✅ 準拠している項目
- 型ヒント: 全関数に適用済み
- docstring: Google形式で記述完了
- 行長制限: 88文字以内を遵守
- インポート順序: isortルールに準拠

### ⚠️ 改善推奨項目
- エラーハンドリング: より具体的な例外クラスの使用を推奨
- テスト: 対応する単体テストの作成を推奨

### 🎯 次のアクション
1. `uv run pre-commit run --all-files` で最終確認
2. 単体テストの作成
3. 統合テストの実装
```

このフィードバックシステムにより、ユーザーはRoo Codeがルールを適切に適用しているかを常に確認できます。