mcpField
M
moai-lang-csharp

moai-lang-csharp

github.com/modu-ai開発1.2k78 回インストール今日更新
リポジトリ

moai-lang-csharp について

moai-lang-csharpは、C# 12、.NET 8、一般的なアプリケーションパターンを扱うC#開発スキルです。ASP.NET Core、Entity Framework Core、Blazor、テストを網羅します。

主な機能

  1. 01C# 12の言語機能
  2. 02ASP.NET Core 8のAPIパターン
  3. 03Entity Framework Coreのデータアクセス
  4. 04Blazor ServerとWASMのコンポーネント
  5. 05CQRSとバリデーションのパターン
  6. 06xUnit、NUnit、Moqによるテスト

活用シーン

  1. 01.NET 8 Web APIの構築
  2. 02Blazor Webアプリの作成
  3. 03EF Coreのモデルとマイグレーション設定
  4. 04アプリへのCQRSとバリデーションの導入

MCP 対応

READMEでは、ASP.NET Core、Entity Framework Core、.NET Runtimeのドキュメント取得にContext7 MCPツールを使う方法が説明されています。

インストール

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

$npx skills add https://github.com/modu-ai/moai-adk --skill moai-lang-csharp

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

同梱ファイル

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

modules/
aspnet-core.md
blazor-components.md
cqrs-validation.md
csharp12-features.md
efcore-patterns.md
references/
examples.md
reference.md

詳細

C# 12 / .NET 8 開発スペシャリスト

ASP.NET Core、Entity Framework Core、Blazor、エンタープライズパターンを活用したモダンな C# 開発です。

クイックリファレンス

自動トリガー:.cs、.csproj、.sln ファイル、C# プロジェクト、.NET ソリューション、ASP.NET Core アプリケーション

コアスタック:

  • C# 12:プライマリコンストラクター、コレクション式、あらゆる型のエイリアス、デフォルトのラムダパラメーター
  • .NET 8:Minimal API、Native AOT、パフォーマンスの向上、WebSockets
  • ASP.NET Core 8:コントローラー、エンドポイント、ミドルウェア、認証
  • Entity Framework Core 8:DbContext、マイグレーション、LINQ、クエリの最適化
  • Blazor:Server/WASM コンポーネント、InteractiveServer、InteractiveWebAssembly
  • テスト:xUnit、NUnit、FluentAssertions、Moq

クイックコマンド:

新しい .NET 8 Web API プロジェクトを作成するには、dotnet new webapi を実行し、-n フラグでプロジェクト名、--framework で net8.0 を指定します。

Blazor Web App を作成するには、dotnet new blazor を実行し、-n フラグでプロジェクト名、--interactivity で Auto を指定します。

Entity Framework Core を追加するには、dotnet add package Microsoft.EntityFrameworkCore.SqlServer を実行し、続けて Microsoft.EntityFrameworkCore.Design を追加します。

FluentValidation と MediatR を追加するには、dotnet add package FluentValidation.AspNetCore と dotnet add package MediatR を実行します。


モジュール一覧

このスキルでは、詳細な内容を専門モジュールで扱うプログレッシブディスクロージャーを採用しています。

言語機能
  • C# 12 の機能 - プライマリコンストラクター、コレクション式、型エイリアス、デフォルトのラムダ
Web 開発
データアクセス
  • Entity Framework Core 8 - DbContext、リポジトリパターン、マイグレーション、クエリの最適化
アーキテクチャパターン
  • CQRS と検証 - MediatR CQRS、FluentValidation、ハンドラーパターン
リファレンス資料
  • API リファレンス - API リファレンスの全容、Context7 ライブラリのマッピング
  • コード例 - 本番環境向けの例、テスト用テンプレート

実装クイックスタート

プロジェクト構成(クリーンアーキテクチャ)

src フォルダー内に、主要な 4 つのプロジェクトを配置します。MyApp.Api には ASP.NET Core Web API レイヤーを格納します。ここには API コントローラー用の Controllers フォルダー、Minimal API エンドポイント用の Endpoints フォルダー、アプリケーションのエントリーポイントである Program.cs が含まれます。MyApp.Application にはビジネスロジックを格納します。ここには CQRS コマンド用の Commands フォルダー、CQRS クエリ用の Queries フォルダー、FluentValidation 用の Validators フォルダーが含まれます。MyApp.Domain にはドメインエンティティを格納します。ここにはドメインモデル用の Entities フォルダー、リポジトリーインターフェイス用の Interfaces フォルダーが含まれます。MyApp.Infrastructure にはデータアクセス機能を格納します。ここには DbContext 用の Data フォルダー、リポジトリー実装用の Repositories フォルダーが含まれます。

基本パターン

DI を使用したプライマリコンストラクター:IUserRepository と UserService の ILogger をコンストラクターパラメーターに取る public class UserService を定義します。Guid id を受け取る GetByIdAsync などの非同期メソッドを作成し、UserId を含む構造化ログを使ってロガーで情報を記録し、repository.FindByIdAsync の結果を返します。

Minimal API エンドポイント:app.MapGet を使用し、"/api/users/{id:guid}" のようなルートパターンと、Guid id および IUserService を受け取る非同期ラムダを指定します。サービスメソッドを呼び出し、結果が null かどうかを確認します。エンティティが見つかった場合は Results.Ok を、見つからない場合は Results.NotFound を返します。WithName でルート名を設定し、WithOpenApi で OpenAPI ドキュメントを追加します。

エンティティ構成:エンティティ型の IEntityTypeConfiguration を実装するクラスを作成します。EntityTypeBuilder を受け取る Configure メソッド内で、HasKey を呼び出して主キーを設定します。Property を使ってフィールドを構成し、HasMaxLength と IsRequired を指定します。また、HasIndex と IsUnique を使って一意制約を設定します。


Context7 統合

最新のドキュメントには、Context7 MCP ツールを使用してください。

ASP.NET Core のドキュメントを参照するには、まず「aspnetcore」を指定して mcp__context7__resolve-library-id でライブラリ ID を解決し、その後、解決したライブラリ ID と「minimal-apis middleware」のようなトピックを指定して mcp__context7__get-library-docs でドキュメントを取得してください。

Entity Framework Core のドキュメントを参照するには、「efcore」で解決し、「dbcontext migrations」のようなトピックを指定して取得してください。

.NET Runtime のドキュメントを参照するには、「dotnet runtime」で解決し、「collections threading」のようなトピックを指定して取得してください。


トラブルシューティングのヒント

ビルドとランタイム:詳細な出力を得るには、dotnet build を --verbosity detailed とともに実行してください。HTTPS プロファイルを使用するには、dotnet run を --launch-profile https とともに実行してください。EF のマイグレーションを適用するには、dotnet ef database update を実行してください。新しいマイグレーションを作成するには、マイグレーション名を指定して dotnet ef migrations add を実行してください。

一般的なパターン:

null 参照を処理するには、コンテキストから取得した変数と nameof 式を指定して、ArgumentNullException.ThrowIfNull を使用してください。

非同期列挙可能なストリーミングを行うには、型の IAsyncEnumerable を返す非同期メソッドを作成してください。CancellationToken パラメーターに EnumeratorCancellation 属性を追加してください。AsAsyncEnumerable および WithCancellation とともに await foreach を使用して反復処理し、各項目を yield で返してください。


相性の良いツール

  • moai-domain-backend - API 設計、データベース統合パターン
  • moai-platform-deploy - Azure、Docker、Kubernetes のデプロイ
  • moai-workflow-testing - テスト戦略とパターン
  • moai-foundation-quality - コード品質基準
  • moai-essentials-debug - .NET アプリケーションのデバッグ

コメント