generate-custom-instructions-from-codebase は何をしますか?
Migration and code evolution instructions generator for GitHub Copilot. Analyzes differences between two project versions (branches, commits, or releases) to create precise instructions allowing Copilot to maintain consistency during technology migrations, major refactoring, or framework version upgrades.
GitHub Copilot用の移行・コード進化指示書ジェネレーター。2つのプロジェクトバージョン(ブランチ、コミット、リリース)間の差分を分析し、テクノロジー移行や大規模リファクタリング、フレームワークのバージョンアップ時にCopilotが一貫性を維持できるよう、正確な指示を作成します。
概要
このツールは、コードベースの2つのバージョン(例:古いブランチと新しいブランチ、または2つのリリースタグ)を比較し、その差分を分析します。分析結果に基づいて、新しいコードベースで使用されているパターン、スタイル、APIを記述したカスタム指示を生成します。これにより、GitHub Copilotは新しいコードを生成する際に、古いパターンではなく、常に最新の規約に従うようになります。
仕組み
- ソースバージョン(例:古いブランチ)とターゲットバージョン(例:新しいブランチ)を指定します。
- ツールは2つのバージョン間のコード差分を分析します。
- 追加、変更、削除されたコードパターン、関数シグネチャ、インポートパス、APIの使用法などを特定します。
- 特定された変更点に基づいて、構造化された指示(通常はYAMLまたはMarkdown形式)を生成します。
- 生成された指示は、
.github/copilot-instructions.mdなどのファイルに保存され、Copilotが参照できるようになります。
使用例
前提条件
- Gitリポジトリがクローンされていること。
- 比較する2つのリファレンス(ブランチ名、コミットハッシュ、タグ)が存在すること。
基本的な使い方
# 例: mainブランチとfeature/new-apiブランチを比較
# (実際のコマンドはスキルの実装に依存します)
/
設定
設定は主にスキルの呼び出し時にパラメータとして指定します。
sourceRef: 比較元のGitリファレンス(例:refs/heads/main)targetRef: 比較先のGitリファレンス(例:refs/heads/feature/new-api)outputPath: 生成された指示ファイルの出力先パス(例:.github/copilot-instructions.md)
出力例
生成される指示ファイルは、以下のような構造になります。
# Copilot Instructions
## プロジェクトのコンテキスト
このプロジェクトは、レガシーAPI `v1` から新しいAPI `v2` への移行中です。
## コーディング規約
- 新しいコードでは、`import { oldFunction } from 'old-lib'` ではなく、`import { newFunction } from 'new-lib'` を使用してください。
- 関数の戻り値の型として、`Promise<Result>` ではなく `Result` を使用してください。
## 避けるべきパターン
- `deprecatedMethod()` の使用は避けてください。代わりに `modernMethod()` を使用してください。
注意事項
- 生成された指示は自動的に作成されるものであり、必ず人間がレビューし、必要に応じて修正してください。
- 大規模なコードベースの場合、差分分析に時間がかかることがあります。
- このスキルは、GitHub Copilotとの併用を前提としています。