mcpField
N
neo-dotnet-webapi

neo-dotnet-webapi

github.com/benknightdark開発735 回インストール4 日前に更新
リポジトリ

neo-dotnet-webapi について

neo-dotnet-webapiは、ASP.NET Core Web APIの作成、デバッグ、リファクタリング、レビューを支援するスキルです。.NETのバージョンや構成に応じて、エラー処理やDTO、検証の指針を示します。

主な機能

  1. 01プロジェクトのバージョンと構成の分析
  2. 02コントローラーとAPI設計の指針
  3. 03バージョンに応じた例外処理
  4. 04型付き・不変DTOの提案
  5. 05Null許容と非同期処理の検証

活用シーン

  1. 01ASP.NET Core APIエンドポイントの作成
  2. 02APIエラー処理のモダン化
  3. 03キャンセルトークンとNull安全性のレビュー

インストール

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

$npx skills add https://github.com/benknightdark/neo-skills --skill neo-dotnet-webapi

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

reference/
anti-patterns.md
coding-style.md
patterns.md

詳細

.NET Web API エキスパートスキル

起動条件

  • ASP.NET Core Web API の作成、デバッグ、リファクタリング、レビューをユーザーが依頼した場合。
  • プロジェクトに Controllers ディレクトリがあり、ControllerBase を継承している場合。
  • ターゲットフレームワークが .NET 6.0(LTS)以降の場合。
  • API コードのモダナイゼーションが必要な場合(例:ミドルウェアによる例外処理から .NET 8+ の IExceptionHandler への移行)。

ワークフロー

  1. 把握(アーキテクチャの認識):
    • .csproj を確認して TargetFramework を特定します。
    • プロジェクト構造を分析し、N-Tier アーキテクチャまたは Vertical Slice を採用しているか確認します。
    • 既存の横断的関心事の処理方法(フィルター、ミドルウェア)を特定します。
  2. 検討(計画フェーズ):
    • 「Problem Details」標準を導入するかどうかを評価します。
    • .NET 8+ のグローバル例外処理メカニズムを使用するかどうかを判断します。
    • プロジェクトの規模に応じて適切なバージョニング戦略を選択します。
  3. 実行(実装フェーズ):
    • [ApiController] の規約に準拠した高品質なコントローラーを作成します。
    • 型安全でイミュータブルな DTO を実装します(record を優先)。
    • 依存性注入を導入し、Primary Constructor(C# 12+)を優先します。
  4. 検証(標準的な検証):
    • アクションの戻り値の型が ActionResult<T> の仕様に準拠しているか検証します。
    • NRT(Nullable Reference Types)の安全性を確認します。
    • 非同期処理で CancellationToken が正しく引き渡されていることを確認します。

機能ロードマップ(.NET 6~10)

.NET 6 & 7(基盤)
  • コントローラーアーキテクチャ:従来型のコントローラーパターンと属性ルーティング。
  • Problem Details:統一されたエラーレスポンス標準。
  • 出力キャッシュ:高パフォーマンスなサーバー側キャッシュ。
  • Nullable Reference Types:包括的な null 安全性のサポート。
.NET 8 & 9(生産性)
  • IExceptionHandler:より洗練された一元的な例外処理。
  • Antiforgery:Web API 向けの組み込み CSRF 対策サポート。
  • キー付きサービス:より柔軟な依存性注入の選択肢。
  • HybridCache:マルチレベルのキャッシュ最適化。
.NET 10+(バージョン固有の機能)
  • コントローラーの拡張メンバー:基底コントローラーの機能を拡張します。
  • シリアル化の強化:大きなペイロードに対応する JSON の最適化。

コーディング規約

  • 強い型付け:Swagger のサポートを向上させるため、ActionResult<T> を優先します。
  • NRT 準拠:実行時エラーを減らすため、null 安全性を厳格に適用します。
  • 非同期処理のベストプラクティス:常に CancellationToken を受け取り、引き渡します。
  • 命名:コントローラー名は Controller で終わる必要があります。非同期メソッド名は Async で終わる必要があります。

提供内容

  • バージョンに最適化された Web API コード:ターゲットバージョンに適したモダナイズ済みのコントローラーと構成を提供します。
  • アーキテクチャに関する知見:N-Tier または Clean Architecture 向けのリファクタリング案を提示します。
  • セキュリティに関する推奨事項:Problem Details と例外処理に関するセキュリティ上の提案を行います。

検証

  • コードが C# 10+ の最新の構文標準に準拠していることを確認します。
  • エンドポイントが RFC 7807 に準拠したエラー形式を正しく返すことを検証します。
  • テスト環境でコードにリソースリークがないこと(using と非同期処理の適切な使用)を確認します。

ドキュメント

公式リファレンス
内部リファレンス

コメント