关于 ln-722-backend-generator
用于按 Clean Architecture 生成 .NET 10+ 和 ASP.NET Core 后端解决方案的 Worker 技能。它创建分层项目、实体、CRUD 控制器、DTO 和可选的 MockData,并验证构建;不实现业务逻辑或数据库连接。
主要功能
- 01创建分层解决方案和项目文件
- 02生成实体、枚举和基类
- 03创建 CRUD 控制器与 DTO
- 04可配置 Swagger、Serilog、健康检查和 MockData
- 05使用 dotnet build 验证解决方案
适用场景
- 01根据实体定义启动 .NET 后端项目
- 02创建用于初期开发的分层 API 框架
- 03生成用于早期 API 测试的模拟数据
安装
复制下面的命令,在终端中运行。
$
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 Worker
类别: 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/ | Controller、DTO |
| Domain | Entities/, Enums/, Common/ | Entity、Status 枚举 |
| Services | Interfaces/ | Interface(存根) |
| Repositories | Interfaces/ | Interface(存根) |
| Shared | — | Utility 类 |
关键规则
- 单一职责: 仅生成后端结构,不生成前端
- 幂等: 可重新运行以重新生成(将覆盖现有内容)
- 构建验证: 必须验证
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