開発フィードバックを収集し,コード品質・ドキュメント・開発プロセスの改善に役立つインサイトを生成するLaravelツールです。Claude Code,Cursor,GitHub Copilotなどのコーディングアシスタントとシームレスに連携します。
何故ダメだったのか。繰り返し発生する問題はあるか。どこのコードで問題になったかを検出可能です。
- フィードバック収集 - 開発セッションからリアルタイムでフィードバックを記録
- パターン検出 - コードと開発課題における繰り返しパターンの特定
- 進捗追跡 - 開発の進捗と課題を体系的に追跡
- 実用的な洞察 - 自動レポートを通じた実行可能な洞察の生成
- AIガイドライン改善 - 実際の開発経験に基づくAIアシスタントのガイドライン向上
- データドリブンな改善 - 測定可能なKPIによるプロセス改善
- 対話的フィードバック収集 - コンテキスト付きでフィードバックを記録(ファイル,コミット,シナリオ)
- 自動日次レポート - トレンドと優先項目を含むKPIレポート生成
- 優先度検出 - 低評価の経験を自動的にフラグ化
- トレンド分析 - 7日間の改善傾向を追跡
- Slack/Discord通知 - チーム可視性のためのWebhook統合(オプション)
- SQLiteバックエンド - 軽量でゼロコンフィグのデータベース
- クイックモード - 迅速なフィードバック収集
- Git統合 - コミット/ブランチの自動追跡
- AIコンテキストエクスポート - Claude Code,Cursor,GitHub Copilot向けエクスポート
- PHP 8.1以上(8.1,8.2,8.3対応)
- Laravel 10.0以上(10.x,11.x,12.x対応)
- SQLite3 PHP拡張
注意: このパッケージはLaravelプロジェクトが提供するilluminate/*パッケージを使用します。個別にバージョンを指定していないため,Laravel 10以降のどのバージョンでも動作します。
| 項目 | 方法1: Composer(推奨) | 方法2: 手動配置 |
|---|---|---|
| autoload設定 | ✅ 自動 | ❌ 手動で追加が必要 |
| サービスプロバイダー | ✅ 自動登録 | ❌ 手動で登録が必要 |
| 更新管理 | ✅ composer updateで簡単 |
❌ 手動でファイルコピー |
| 推奨度 | ⭐⭐⭐ すべての環境で推奨 |
このパッケージはLaravelパッケージとして設計されています。Composerでインストールすれば,すべて自動で設定されます。
Laravelプロジェクトのcomposer.jsonに以下を追加:
{
"repositories": [
{
"type": "path",
"url": "path to/ai-learning",
"options": {
"symlink": true
}
}
]
}# インストール
composer require nzsys/ai-learning
# minimum-stabilityエラーが出る場合
composer require nzsys/ai-learning:@devphp artisan learning:installこれだけでOKです!以下がすべて自動で実行されます:
- ✅ PSR-4 autoloadが自動設定(
composer.jsonのautoloadセクションへの追加は不要) - ✅ サービスプロバイダー(
AiLearningServiceProvider)が自動登録(手動登録不要) - ✅ Artisanコマンド(
learning:*)が自動で利用可能 - ✅ 設定ファイルも自動で読み込まれる
# composer.jsonに追加
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/nzsys/ai-learning.git"
}
]
}
composer require nzsys/ai-learning# 自動インストール(推奨)
php artisan learning:install
# 以下が実行されます:
# - 必要なディレクトリの作成
# - SQLiteデータベースの初期化
# - スキーマの自動適用
# - 適切な権限設定config/ai-learning.phpを編集するか,.envに追加:
# データベースパス(デフォルト: storage/app/ai-learning/metrics.sqlite)
AI_LEARNING_DATABASE_PATH=storage/app/ai-learning/metrics.sqlite
# レポートパス(デフォルト: storage/app/ai-learning/reports/daily)
AI_LEARNING_REPORTS_PATH=storage/app/ai-learning/reports/daily
# Slack通知(オプション)
AI_LEARNING_SLACK_WEBHOOK=https://hooks.slack.com/services/YOUR/WEBHOOK/URL
AI_LEARNING_NOTIFICATIONS_ENABLED=true
# 閾値
AI_LEARNING_GUIDELINE_THRESHOLD=3 # この値以下の評価は優先としてフラグ化
AI_LEARNING_PATTERN_MIN_OCCURRENCES=3何かを学んだり問題に遭遇したコーディングセッションの後:
# 対話モード(初回使用時推奨)
php artisan learning:feedback
# クイックモード(オプション項目をスキップ)
php artisan learning:feedback --quick
# 事前入力オプション付き
php artisan learning:feedback \
--type=improvement \
--rating=8 \
--scenario=feature \
--file=app/Models/User.php蓄積した学習内容をAIアシスタントで使用するためにエクスポート:
# Claude Code用にエクスポート(Markdown形式)
php artisan learning:export-context --for=claude --output=.claude/context.md
# Cursor用にエクスポート(.cursorrules)
php artisan learning:export-context --for=cursor --output=.cursorrules
# GitHub Copilot用にエクスポート
php artisan learning:export-context --for=copilot --days=7
# 過去7日分のみエクスポート
php artisan learning:export-context --for=claude --days=7エクスポートされる内容:
- 重大な問題 - 悪い結果につながったパターン(評価≤3)
- 特定されたパターン - 発見された繰り返しのコード構造
- 成功した改善 - 修正と共にうまくいったアプローチ
- 高インパクトな学習 - 非常に成功したアプローチ(評価≥8)
繰り返し発生する問題とパターンを自動検出:
# 過去30日のパターンを分析
php artisan learning:analyze-patterns
# 最小出現回数のしきい値を設定
php artisan learning:analyze-patterns --min-occurrences=3
# 検出されたパターンをデータベースに保存
php artisan learning:analyze-patterns --save検出される内容:
- 繰り返し発生するファイルの問題 - 複数の低評価があるファイル
- 繰り返し発生するシナリオの問題 - 繰り返し問題が発生するシナリオ
- 改善トレンド - 時間経過による評価トレンド
- 頻出問題 - 一般的なエラーパターン
フィードバック履歴に基づいた実行可能な提案を取得:
# 過去7日分の提案を取得
php artisan learning:suggest
# 提案数を制限
php artisan learning:suggest --limit=5
# より長い期間を分析
php artisan learning:suggest --days=30提案のタイプ:
- ドキュメント - より良いドキュメントが必要なファイル
- リファクタリング - 改善が必要なコード
- AIエクスポート - AIアシスタントに学習内容をエクスポートするタイミング
- 分析 - パターン検出を実行するタイミング
- コードレビュー - 特別な注意が必要なシナリオ
storage/app/ai-learning/
├── metrics.sqlite # ローカルデータベース(gitignore対象)
└── reports/
└── daily/
├── 2025-10-26.json # 日次KPIレポート
└── 2025-10-27.json
Gitで追跡するもの:
- ✅ レポート(
storage/app/ai-learning/reports/daily/*.json) - ❌ データベース(
metrics.sqlite)- ローカルのみ
- SQLiteデータベースはデフォルトでgitignoreされる
storage/app/に保存されます - すべてのフィードバックは環境ローカルに保存されます
- Webhookを明示的に設定しない限り,外部サービスにデータは送信されません