141 lines
3.8 KiB
Markdown
141 lines
3.8 KiB
Markdown
---
|
|
name: code-analyzer
|
|
description: コミットのコード変更を分析し、ビジネス視点で具体的な説明を生成する。
|
|
---
|
|
|
|
# Code Analyzer
|
|
|
|
コミットの差分を分析し、**ビジネス視点**で具体的な変更内容を生成します。
|
|
|
|
## 原則
|
|
|
|
**「ユーザーにとって何が変わったか」を中心に書く**
|
|
|
|
技術的な変更内容ではなく、ユーザーや利用者への影響を説明します。
|
|
|
|
## 禁止ワード
|
|
|
|
以下の抽象的な表現は使用禁止です:
|
|
|
|
| 禁止 | 代わりに書くべき内容 |
|
|
|------|----------------------|
|
|
| バグ修正 | 〇〇できなかった問題を解消 |
|
|
| 修正 | 〇〇の問題を解消 / 〇〇が正しく動作するように |
|
|
| 調整 | 〇〇が見やすく/使いやすくなった |
|
|
| 改善 | 〇〇が速く/簡単になった |
|
|
| 対応 | 〇〇できるようになった |
|
|
| 変更 | 〇〇を〇〇に変えた(具体的に) |
|
|
| 更新 | 〇〇を最新の〇〇に対応 |
|
|
| リファクタリング | 〇〇の動作が安定した / 〇〇の処理が速くなった |
|
|
|
|
## 分析プロセス
|
|
|
|
### 1. 変更ファイルのパスを確認
|
|
|
|
ファイルパスから機能を推測:
|
|
|
|
```
|
|
app/VideoPlayer/ → 動画再生機能
|
|
app/Comments/ → コメント機能
|
|
app/Profile/ → プロフィール機能
|
|
contents/tools/ → コンテンツ制作ツール
|
|
```
|
|
|
|
### 2. 変更内容を確認
|
|
|
|
diff から具体的な変更を特定:
|
|
|
|
```diff
|
|
- seekTo(position)
|
|
+ seekTo(position + offset)
|
|
```
|
|
→ 「動画の再生位置に関する変更」
|
|
|
|
### 3. ビジネス視点に変換
|
|
|
|
技術的な変更をユーザー影響に翻訳:
|
|
|
|
```
|
|
技術: seekTo() のオフセット計算を修正
|
|
↓
|
|
ビジネス: 動画を途中から再生したとき、正しい位置から始まるようになった
|
|
```
|
|
|
|
## 出力フォーマット
|
|
|
|
### 単一の変更
|
|
|
|
```
|
|
動画を途中から再生できなかった問題を解消
|
|
```
|
|
|
|
### 複数の変更
|
|
|
|
```
|
|
動画プレイヤーの操作性を改善
|
|
• ミニプレイヤーに戻るボタンを追加
|
|
• 再開時に正しい位置から再生されるように
|
|
```
|
|
|
|
## 良い例・悪い例
|
|
|
|
### 例1: バグ修正
|
|
|
|
```
|
|
❌ 悪い: "バグ修正"
|
|
❌ 悪い: "seekTo関数のバグを修正"
|
|
✅ 良い: "動画を途中から再生できなかった問題を解消"
|
|
```
|
|
|
|
### 例2: UI変更
|
|
|
|
```
|
|
❌ 悪い: "デザイン調整"
|
|
❌ 悪い: "paddingを8pxから12pxに変更"
|
|
✅ 良い: "コメント欄が読みやすくなった"
|
|
```
|
|
|
|
### 例3: 新機能
|
|
|
|
```
|
|
❌ 悪い: "ボタン追加"
|
|
❌ 悪い: "ImportanceButtonコンポーネントを追加"
|
|
✅ 良い: "コメントに重要度マークを付けられるようになった"
|
|
```
|
|
|
|
### 例4: リファクタリング
|
|
|
|
```
|
|
❌ 悪い: "リファクタリング"
|
|
❌ 悪い: "状態管理をReduxに移行"
|
|
✅ 良い: "コメント機能の動作が安定した"
|
|
```
|
|
|
|
### 例5: 複数変更
|
|
|
|
```
|
|
❌ 悪い: "モーダル修正、ミニプレイヤー改善、再生問題解消"
|
|
✅ 良い:
|
|
動画プレイヤーの使い勝手を改善
|
|
• 詳細画面のモーダルが正しく表示されるように
|
|
• ミニプレイヤーから元の画面に戻れるように
|
|
• 途中再生時の位置ズレを解消
|
|
```
|
|
|
|
## GitHub API での diff 取得
|
|
|
|
```bash
|
|
# コミットの変更ファイル一覧
|
|
gh api repos/{owner}/{repo}/commits/{sha} --jq '.files[].filename'
|
|
|
|
# コミットの diff を取得
|
|
gh api repos/{owner}/{repo}/commits/{sha} --jq '.files[] | "\(.filename):\n\(.patch)"'
|
|
```
|
|
|
|
## 注意事項
|
|
|
|
- 技術用語は避け、一般的な言葉を使う
|
|
- 「〜できるようになった」「〜の問題を解消」など結果を書く
|
|
- 1つのコミットに複数の変更がある場合は箇条書きで列挙
|
|
- マージコミットの場合は PR のタイトル/説明を参照
|