mcpField
T
technology-stack-blueprint-generator

technology-stack-blueprint-generator

github.com/github開発40.5k9.0k 回インストール1 日前に更新
リポジトリ

technology-stack-blueprint-generator について

コードベースを分析し、技術スタックのブループリントを作成するスキルです。技術、実装パターン、規約を記録し、分析の深さや出力形式、バージョン・ライセンス・図表の有無を設定できます。

主な機能

  1. 01言語と依存関係の特定
  2. 02実装パターンと規約の記録
  3. 03技術関係図の生成
  4. 04分析の深さとプロジェクト種別の設定
  5. 05Markdown、JSON、YAML、HTML への出力

活用シーン

  1. 01既存コードベースの技術スタック把握
  2. 02新機能実装の技術的な指針作成
  3. 03プロジェクト技術文書の形式統一

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/github/awesome-copilot --skill technology-stack-blueprint-generator

インストール後、Claude Code で/technology-stack-blueprint-generatorを入力して読み込まれたか確認します。

詳細

包括的テクノロジースタックブループリントジェネレーター

設定変数

${PROJECT_TYPE="Auto-detect|.NET|Java|JavaScript|React.js|React Native|Angular|Python|Other"} ${DEPTH_LEVEL="Basic|Standard|Comprehensive|Implementation-Ready"} ${INCLUDE_VERSIONS=true|false} ${INCLUDE_LICENSES=true|false} ${INCLUDE_DIAGRAMS=true|false} ${INCLUDE_USAGE_PATTERNS=true|false} ${INCLUDE_CONVENTIONS=true|false} ${OUTPUT_FORMAT="Markdown|JSON|YAML|HTML"} ${CATEGORIZATION="Technology Type|Layer|Purpose"}

生成されるプロンプト

"コードベースを分析し、一貫したコード生成を促進するためにテクノロジーと実装パターンを徹底的に文書化した ${DEPTH_LEVEL} テクノロジースタックブループリントを生成してください。以下のアプローチを使用してください:

1. テクノロジー識別フェーズ
  • ${PROJECT_TYPE == "Auto-detect" ? "使用されているすべてのテクノロジースタックを特定するために、コードベースのプロジェクトファイル、設定ファイル、依存関係をスキャンする" : "${PROJECT_TYPE} テクノロジーに焦点を当てる"}
  • ファイル拡張子と内容を調べて、すべてのプログラミング言語を識別する
  • 設定ファイル(package.json、.csproj、pom.xml など)を分析して依存関係を抽出する
  • ビルドスクリプトとパイプライン定義を調べてツール情報を把握する
  • ${INCLUDE_VERSIONS ? "パッケージファイルと設定から正確なバージョン情報を抽出する" : "バージョンの詳細は省略する"}
  • ${INCLUDE_LICENSES ? "すべての依存関係のライセンス情報を文書化する" : ""}
2. コアテクノロジー分析

${PROJECT_TYPE == ".NET" || PROJECT_TYPE == "Auto-detect" ? "#### .NET スタック分析(検出された場合)

  • ターゲットフレームワークと言語バージョン(プロジェクトファイルから検出)
  • すべての NuGet パッケージ参照とそのバージョンおよび用途のコメント
  • プロジェクト構造と構成パターン
  • 設定アプローチ(appsettings.json、IOptions など)
  • 認証メカニズム(Identity、JWT など)
  • API 設計パターン(REST、GraphQL、最小 API など)
  • データアクセスアプローチ(EF Core、Dapper など)
  • 依存性注入パターン
  • ミドルウェアパイプラインコンポーネント" : ""}

${PROJECT_TYPE == "Java" || PROJECT_TYPE == "Auto-detect" ? "#### Java スタック分析(検出された場合)

  • JDK バージョンとコアフレームワーク
  • すべての Maven/Gradle 依存関係とそのバージョンおよび用途
  • パッケージ構造の構成
  • Spring Boot の使用状況と設定
  • アノテーションパターン
  • 依存性注入のアプローチ
  • データアクセステクノロジー(JPA、JDBC など)
  • API 設計(Spring MVC、JAX-RS など)" : ""}

${PROJECT_TYPE == "JavaScript" || PROJECT_TYPE == "Auto-detect" ? "#### JavaScript スタック分析(検出された場合)

  • ECMAScript バージョンとトランスパイラ設定
  • すべての npm 依存関係とその用途別分類
  • モジュールシステム(ESM、CommonJS)
  • ビルドツール(webpack、Vite など)とその設定
  • TypeScript の使用状況と設定
  • テストフレームワークとパターン" : ""}

${PROJECT_TYPE == "React.js" || PROJECT_TYPE == "Auto-detect" ? "#### React 分析(検出された場合)

  • React バージョンと主要なパターン(フックとクラスコンポーネント)
  • 状態管理のアプローチ(Context、Redux、Zustand など)
  • コンポーネントライブラリの使用状況(Material-UI、Chakra など)
  • ルーティングの実装
  • フォーム処理の戦略
  • API 統合パターン
  • コンポーネントのテストアプローチ" : ""}

${PROJECT_TYPE == "Python" || PROJECT_TYPE == "Auto-detect" ? "#### Python 分析(検出された場合)

  • Python バージョンと使用されている主要な言語機能
  • パッケージ依存関係と仮想環境のセットアップ
  • Web フレームワークの詳細(Django、Flask、FastAPI)
  • ORM の使用パターン
  • プロジェクト構造の構成
  • API 設計パターン" : ""}
3. 実装パターンと規約

${INCLUDE_CONVENTIONS ? "各テクノロジー領域のコーディング規約とパターンを文書化する:

命名規則
  • クラス/型の命名パターン
  • メソッド/関数の命名パターン
  • 変数の命名規則
  • ファイルの命名と構成の規則
  • インターフェース/抽象クラスのパターン
コード構成
  • ファイル構造と構成
  • フォルダ階層のパターン
  • コンポーネント/モジュールの境界
  • コードの分離と責務のパターン
一般的なパターン
  • エラーハンドリングのアプローチ
  • ログ出力のパターン
  • 設定へのアクセス
  • 認証/認可の実装
  • バリデーション戦略
  • テストのパターン" : ""}
4. 使用例

${INCLUDE_USAGE_PATTERNS ? "標準的な実装パターンを示す代表的なコード例を抽出します:

API 実装の例
  • 標準的なコントローラー/エンドポイントの実装
  • リクエスト DTO のパターン
  • レスポンスのフォーマット
  • バリデーションのアプローチ
  • エラーハンドリング
データアクセスの例
  • リポジトリパターンの実装
  • エンティティ/モデルの定義
  • クエリのパターン
  • トランザクション処理
サービス層の例
  • サービスクラスの実装
  • ビジネスロジックの構成
  • 横断的関心事の統合
  • 依存性注入の使用
UI コンポーネントの例 (該当する場合)
  • コンポーネントの構造
  • 状態管理のパターン
  • イベント処理
  • API 連携のパターン" : ""}
5. 技術スタックマップ

${DEPTH_LEVEL == "Comprehensive" || DEPTH_LEVEL == "Implementation-Ready" ? "以下を含む包括的な技術マップを作成します:

コアフレームワークの使用状況
  • 主要なフレームワークと、プロジェクトにおけるその具体的な使われ方
  • フレームワーク固有の設定とカスタマイズ
  • 拡張ポイントとカスタマイズ
統合ポイント
  • 異なる技術コンポーネントがどのように統合されているか
  • コンポーネント間の認証フロー
  • フロントエンドとバックエンド間のデータフロー
  • サードパーティサービスとの統合パターン
開発ツール
  • IDE の設定と規約
  • コード解析ツール
  • 設定を含むリンターとフォーマッター
  • ビルドとデプロイのパイプライン
  • テストフレームワークとアプローチ
インフラストラクチャ
  • デプロイ環境の詳細
  • コンテナ技術
  • 利用しているクラウドサービス
  • 監視とログのインフラストラクチャ" : ""}
6. 技術固有の実装詳細

${PROJECT_TYPE == ".NET" || PROJECT_TYPE == "Auto-detect" ? "#### .NET 実装の詳細 (検出された場合)

  • 依存性注入のパターン:

    • サービスの登録方法 (Scoped/Singleton/Transient パターン)
    • 構成のバインディングパターン
  • コントローラーのパターン:

    • 基本コントローラーの使用
    • アクション結果の型とパターン
    • ルート属性の規約
    • フィルターの使用 (認可、バリデーションなど)
  • データアクセスのパターン:

    • ORM の設定と使用
    • エンティティの設定方法
    • リレーションシップの定義
    • クエリのパターンと最適化のアプローチ
  • API 設計のパターン (使用されている場合):

    • エンドポイントの構成
    • パラメーターのバインディング方法
    • レスポンス型の扱い
  • 使用されている言語機能:

    • コードから特定の言語機能を検出
    • 一般的なパターンやイディオムを特定
    • バージョン依存の機能があれば記載" : ""}

${PROJECT_TYPE == "React.js" || PROJECT_TYPE == "Auto-detect" ? "#### React 実装の詳細 (検出された場合)

  • コンポーネントの構造:

    • 関数コンポーネントとクラスコンポーネント
    • Props インターフェースの定義
    • コンポーネントのコンポジションパターン
  • フックの使用パターン:

    • カスタムフックの実装スタイル
    • useState のパターン
    • useEffect のクリーンアップの方法
    • Context の使用パターン
  • 状態管理:

    • ローカル状態とグローバル状態の判断
    • 状態管理ライブラリのパターン
    • ストアの設定
    • セレクターのパターン
  • スタイリングのアプローチ:

    • CSS の手法 (CSS モジュール、styled-components など)
    • テーマの実装
    • レスポンシブデザインのパターン" : ""}
7. 新しいコード実装のためのブループリント

${DEPTH_LEVEL == "Implementation-Ready" ? "分析に基づいて、新機能を実装するための詳細なブループリントを提供します:

  • ファイル/クラステンプレート: 一般的なコンポーネントタイプの標準構造
  • コードスニペット: 一般的な操作にすぐ使えるコードパターン
  • 実装チェックリスト: 機能をエンドツーエンドで実装するための標準的な手順
  • 統合ポイント: 新しいコードを既存システムに接続する方法
  • テスト要件: さまざまなコンポーネントタイプの標準的なテストパターン
  • ドキュメント要件: 新機能の標準的なドキュメントパターン" : ""}

${INCLUDE_DIAGRAMS ? "### 8. 技術関連図

  • スタック図: 完全な技術スタックの視覚的表現
  • 依存関係の流れ: さまざまな技術がどのように相互作用するか
  • コンポーネントの関係: 主要なコンポーネントがどのように互いに依存しているか
  • データフロー: データが技術スタックを通じてどのように流れるか" : ""}
${INCLUDE_DIAGRAMS ? "9" : "8"}. 技術選定の背景
  • 技術選択の明らかな理由を文書化する
  • 置き換えが予定されているレガシー技術や非推奨技術があれば記載する
  • 技術的な制約と境界を特定する
  • 技術のアップグレードパスと互換性の考慮事項を文書化する

出力は ${OUTPUT_FORMAT} としてフォーマットし、技術を ${CATEGORIZATION} で分類してください。

出力を 'Technology_Stack_Blueprint.${OUTPUT_FORMAT == "Markdown" ? "md" : OUTPUT_FORMAT.toLowerCase()}' として保存してください "

コメント