ln-722-backend-generator について
Clean Architecture に基づき、.NET 10+ と ASP.NET Core のバックエンドソリューションを生成するワーカーです。レイヤー構成、エンティティ、CRUD コントローラー、DTO、任意の MockData を作成してビルドを検証します。業務ロジックやデータベース接続は対象外です。
主な機能
- 01レイヤー構成とプロジェクトファイルの作成
- 02エンティティ・列挙型・基底クラスの生成
- 03CRUD コントローラーと DTO の作成
- 04Swagger・Serilog・ヘルスチェック・MockData の設定
- 05dotnet build によるソリューション検証
活用シーン
- 01エンティティ定義からの .NET バックエンドの立ち上げ
- 02初期開発向けレイヤー構成 API の作成
- 03初期 API テスト用 MockData の生成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-722-backend-generatorインストール後、Claude Code で/ln-722-backend-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/controller_patterns.mdentity_patterns.mdlayer_structure.mdnuget_packages.mdprogram_sections.md詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリからの相対パスです。
ln-722-backend-generator
タイプ: L3 ワーカー
カテゴリ: 7XX プロジェクトブートストラップ
クリーンアーキテクチャの原則に従って、完全な .NET バックエンド構成を生成します。
目的と範囲
| 項目 | 説明 |
|---|---|
| 入力 | プロジェクト名、エンティティ一覧、構成オプション |
| 出力 | レイヤー化アーキテクチャを備えた完全な .NET ソリューション |
| 対象 | .NET 10 以降、ASP.NET Core |
範囲の境界:
- プロジェクト構成とボイラープレートコードを生成します
- 初期開発用の MockData を作成します
- ビジネスロジックやデータベース接続は実装しません
ワークフロー
| フェーズ | 名前 | アクション | 出力 |
|---|---|---|---|
| 1 | コンテキストの受け取り | コーディネーターからプロジェクト名、エンティティ、オプションを受け取る | 構成 |
| 2 | ソリューションの作成 | .sln ファイルと .csproj ファイルを作成する | 空のソリューション構成 |
| 3 | ドメインの生成 | エンティティ、列挙型、基底クラスを作成する | ドメインプロジェクトのファイル |
| 4 | API の生成 | コントローラー、DTO、ミドルウェアを作成する | API プロジェクトのファイル |
| 5 | 検証 | ソリューションをビルドし、参照を確認する | ビルド成功 |
フェーズ 1:コンテキストの受け取り
ln-720-structure-migrator からの委任を受け入れます。
| 入力 | 型 | 必須 | 説明 |
|---|---|---|---|
projectName | string | はい | ソリューション名とプロジェクト名のプレフィックス |
targetPath | string | はい | 生成するソリューションのディレクトリ |
targetFramework | string | はい | .NET のバージョン(例:net10.0) |
entities | list | はい | 生成するエンティティ名 |
features | list | はい | MockData の機能グループ |
オプション:
| オプション | デフォルト | 効果 |
|---|---|---|
useSwagger | true | API ドキュメント用に Swashbuckle を追加します |
useSerilog | true | 構造化ログを追加します |
useHealthChecks | true | ヘルスチェックエンドポイントを追加します |
createMockData | true | モックデータクラスを生成します |
フェーズ 2:ソリューションの作成
ソリューションファイルとプロジェクト構成を生成します。
| 手順 | アクション | 参照 |
|---|---|---|
| 2.1 | ソリューションディレクトリを作成する | — |
| 2.2 | .sln ファイルを生成する | — |
| 2.3 | プロジェクトディレクトリを作成する | layer_structure.md |
| 2.4 | 各レイヤーの .csproj ファイルを生成する | layer_structure.md |
| 2.5 | プロジェクト参照を追加する | layer_structure.md |
生成されるプロジェクト:
| プロジェクト | 目的 |
|---|---|
{Project}.Api | HTTP エンドポイント、ミドルウェア |
{Project}.Domain | エンティティ、列挙型 |
{Project}.Services | ビジネスロジックのインターフェース |
{Project}.Repositories | データアクセスのインターフェース |
{Project}.Shared | 横断的関心事に関するユーティリティ |
フェーズ 3:ドメインの生成
ドメインレイヤーのファイルを作成します。
| 手順 | アクション | 参照 |
|---|---|---|
| 3.1 | BaseEntity クラスを作成する | entity_patterns.md |
| 3.2 | 入力に基づいてエンティティクラスを生成する | entity_patterns.md |
| 3.3 | ステータス列挙型を生成する | entity_patterns.md |
| 3.4 | フォルダー構成を作成する | layer_structure.md |
エンティティ生成ルール:
| エンティティのプロパティ | 生成内容 |
|---|---|
| 主キー | public Guid Id { get; set; } |
| 文字列フィールド | public string Name { get; set; } = string.Empty; |
| ステータスフィールド | public {Entity}Status Status { get; set; } |
| タイムスタンプ | BaseEntity の CreatedAt、UpdatedAt |
フェーズ 4:API の生成
API レイヤーのファイルを作成します。
| 手順 | アクション | 参照 |
|---|---|---|
| 4.1 | Program.cs を生成 | program_sections.md |
| 4.2 | エンティティごとにコントローラーを生成 | controller_patterns.md |
| 4.3 | エンティティごとに DTO を生成 | controller_patterns.md |
| 4.4 | ミドルウェアクラスを生成 | layer_structure.md |
| 4.5 | 拡張メソッドを生成 | program_sections.md |
| 4.6 | MockData クラスを生成(有効な場合) | layer_structure.md |
| 4.7 | NuGet パッケージを追加 | nuget_packages.md |
エンティティごとのコントローラーエンドポイント:
| エンドポイント | メソッド | ルート |
|---|---|---|
| GetAll | GET | /api/{entities} |
| GetById | GET | /api/{entities}/{id} |
| Create | POST | /api/{entities} |
| Update | PUT | /api/{entities}/{id} |
| Delete | DELETE | /api/{entities}/{id} |
フェーズ 5:検証
生成されたソリューションを検証します。
| チェック項目 | コマンド | 期待される結果 |
|---|---|---|
| ソリューションのビルド | dotnet build | 成功し、エラーがない |
| プロジェクト参照 | .csproj を確認 | すべての参照が有効 |
| ファイルの作成 | ディレクトリ一覧 | 期待されるすべてのファイルが存在 |
生成される構造の概要
| レイヤー | フォルダー | エンティティごとのファイル |
|---|---|---|
| Api | Controllers/, DTOs/, Middleware/, MockData/, Extensions/ | コントローラー、DTO |
| Domain | Entities/, Enums/, Common/ | エンティティ、Status enum |
| Services | Interfaces/ | インターフェイス(スタブ) |
| Repositories | Interfaces/ | インターフェイス(スタブ) |
| Shared | — | ユーティリティクラス |
重要なルール
- 単一責任: バックエンドの構造のみを生成し、フロントエンドは生成しません
- 冪等性: 再実行して再生成できます(上書きされます)
- ビルド検証:
dotnet buildが成功することを検証する必要があります - クリーンアーキテクチャ: レイヤーの依存関係を遵守します(内側のレイヤーは独立)
- ビジネスロジックなし: 実装ではなく、構造のみを生成します
- MockData を優先: データベースなしですぐに API をテストできるようにします
完了の定義
- すべてのプロジェクトを含むソリューションファイルを作成済み
- すべてのプロジェクト参照を正しく設定済み
- すべての入力エンティティのドメインエンティティを生成済み
- CRUD エンドポイントを含むコントローラーを生成済み
- リクエスト/レスポンス用の DTO を生成済み
- MockData クラスを生成済み(有効な場合)
- すべてのサービスを含む Program.cs を設定済み
-
dotnet buildが正常に成功 - Swagger UI にアクセス可能(有効な場合)
リスクの軽減
| リスク | 検出方法 | 軽減策 |
|---|---|---|
| ビルド失敗 | dotnet build が失敗 | .csproj の参照を確認し、SDK のバージョンを検証 |
| 参照の不足 | CS0246 エラー | 不足しているプロジェクト参照を追加 |
| 無効なエンティティ名 | ビルド時または実行時のエラー | 生成前にエンティティ名を検証 |
| パスの競合 | ファイルが存在するというエラー | 対象パスを確認し、上書き前に確認を求める |
| パッケージの復元失敗 | NuGet エラー | ネットワークを確認し、パッケージ名を確認 |
参照ファイル
| ファイル | 用途 |
|---|---|
references/layer_structure.md | プロジェクト構成、フォルダー構造、依存関係 |
references/entity_patterns.md | エンティティ生成ルール、プロパティパターン |
references/controller_patterns.md | コントローラーと DTO の生成ルール |
references/program_sections.md | Program.cs の構造とサービス登録 |
references/nuget_packages.md | 必須およびオプションの NuGet パッケージ |
バージョン: 2.0.0 最終更新日: 2026-01-10
コメント
Markdown 対応