mcpField
P
project-setup

project-setup

github.com/codewithmukesh開発7912.9k 回インストール12 週間前に更新
リポジトリ

project-setup について

.NET プロジェクト向けの技術スタック選定スキルで、キットの既定案とそのトレードオフを説明します。データベースや認証、キャッシュなどの選択を支援し、初期化・評価・移行は専用スキルに振り分けます。

主な機能

  1. 018 分野のスタック既定案
  2. 02選択理由とトレードオフの説明
  3. 03.NET 標準機能を優先
  4. 04依存関係のライセンスを考慮
  5. 05他のワークフローを専用スキルへ誘導

活用シーン

  1. 01プロジェクトのデータベースと認証の選定
  2. 02キャッシュやメッセージングの要否判断
  3. 03可観測性とテスト構成の選択
  4. 04セットアップや移行の依頼を適切なスキルへ振り分け

インストール

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

$npx skills add https://github.com/codewithmukesh/dotnet-claude-kit --skill project-setup

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

詳細

プロジェクトのセットアップ — Tech-Stack Advisor

このスキルが担うのは、キットで推奨する技術スタックのデフォルトと、その理由だけです。このスキルを利用するワークフローは、ほかの場所にあります。

  • プロジェクトの初期化/CLAUDE.md の生成 → dotnet-init(対話型フロー、アーキテクチャに関する質問、CLAUDE.md の生成)
  • 既存のコードベースの評価 → health-check(正式な 8 項目の評価)
  • EF Core のスキーマ、NuGet、または .NET のバージョンの移行 → migrate
  • アーキテクチャの選択 → architecture-advisor(推奨する前に、必ず質問する)

基本原則

  1. デフォルトを推奨し、理由を説明して、選択はユーザーに委ねる — それぞれの項目にキットのデフォルトがありますが、デフォルトは出発点であり、必須ではありません。十分な情報に基づいて選べるよう、トレードオフを一文で伝えます。
  2. サードパーティ製より .NET の組み込み機能を優先する — Redis クライアントのラッパーより HybridCache、パッケージより組み込みのレート制限、Swashbuckle より組み込みの OpenAPI を優先します。依存関係が少なければ、予期しないライセンス問題やアップグレードによる破損も減ります。
  3. ライセンスを考慮して選ぶ — MediatR(v13 以降)、MassTransit(v9 以降)、FluentAssertions(v8 以降)は商用ライセンスに移行しました。キットでは、MIT ライセンスの代替品として Mediator、Wolverine、xUnit の標準アサーションをデフォルトにしています。
  4. メッセージングは後から追加し、導入を避け続けるわけではない — ほとんどのプロジェクトで、初日からメッセージバスは必要ありません。デフォルトは「なし(後から追加)」とし、非同期ワークフローが実際に必要になったら Wolverine を選びます。

パターン

技術スタックの項目とデフォルト
項目選択肢デフォルト理由
データベースPostgreSQL、SQL Server、SQLitePostgreSQLオープンソースで、SQL Server 以外では最良の EF Core プロバイダーであり、Testcontainers を第一級でサポートしています
認証JWT Bearer、OIDC(Keycloak/Auth0)、なしJWT BearerAPI のデフォルトとして、最もシンプルかつ安全です。外部 IdP がある場合は OIDC に移行します
キャッシュHybridCache、Redis、なしHybridCache組み込みで、スタンピード保護と L1+L2 を備えています。Redis は L2 バックエンドとしてのみ追加します
メッセージングWolverine(RabbitMQ)、MassTransit、なしなし(後から追加)早すぎるメッセージングの導入は運用負荷を増やします。必要になったら Wolverine(MIT)を使います
オブザーバビリティSerilog+OpenTelemetry、基本的なロギングSerilog+OTEL初日から構造化ログとトレースを導入するコストは低く、後から追加するのは容易ではありません
レジリエンスPolly v8 パイプライン、基本的な再試行Polly v8AddStandardResilienceHandler() を一行追加するだけで、本番環境向けの適切なデフォルトを利用できます
API ドキュメント組み込み OpenAPI+ScalarOpenAPI+Scalarフレームワークが仕様の生成を保守し、Scalar が Swagger UI を置き換えます
テストxUnit v3+TestcontainersxUnit v3+Testcontainersテストで実際のデータベースを使えます。インメモリプロバイダーでは実際のバグが見つかりません

項目を選択すると、dotnet-init がその内容を生成される CLAUDE.md に反映します。また、それぞれの選択内容は、その領域で作業するときに読み込むスキル(ef-core、authentication、caching、messaging、serilog、opentelemetry、resilience、openapi、scalar、testing)に対応します。

アンチパターン

質問せずに技術スタックを指定する
# BAD — assuming the kit defaults apply everywhere
"You should use PostgreSQL and Wolverine."
# The team runs SQL Server enterprise-wide and has zero async workflows.

# GOOD — default + trade-off + question
"Kit default is PostgreSQL (best OSS EF provider). Any organizational
constraint — existing SQL Server licenses, DBA support — that should
override it?"
このスキルが担当しないワークフローを再実行する
# BAD — improvising a health grading or init flow from this skill
"Let me grade your codebase across 5 categories..."
# That grading conflicts with the canonical one.

# GOOD — route to the owner
Init/CLAUDE.md → dotnet-init | Assessment → health-check | Upgrades → migrate

判断ガイド

シナリオ案内先
「このプロジェクトを Claude Code 用にセットアップする」dotnet-init
「どのデータベース/認証/キャッシュを使えばよいですか?」このスキル — 上の表
「このコードベースはどれくらい健全ですか?」health-check
「.NET 10 にアップグレードする」/「パッケージを更新する」migrate
「どのアーキテクチャが適していますか?」architecture-advisor
技術スタックを選択済みで、実装を始める準備ができている最初の機能には scaffold

コメント