mcpField
C
cleanddd-dotnet-init

cleanddd-dotnet-init

github.com/netcorepal开发36169 次安装27 周前更新
代码仓库

关于 cleanddd-dotnet-init

用于从零生成 CleanDDD .NET 项目样板的初始化技能,面向新建解决方案或在新目录重建旧模板的开发者。通过 `dotnet new netcorepal-web` 配置框架、数据库、消息队列等选项,并要求执行前确认参数。

主要功能

  1. 01生成 CleanDDD .NET 项目样板
  2. 02选择框架、数据库和消息队列
  3. 03配置 Aspire 与 Copilot 指令
  4. 04交互式收集和校验参数
  5. 05执行前展示参数并确认

适用场景

  1. 01在新目录创建 CleanDDD 解决方案
  2. 02按指定数据库和消息队列生成项目
  3. 03重建新模板后迁移旧项目代码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/netcorepal/cleanddd-skills --skill cleanddd-dotnet-init

安装后在 Claude Code 中输入/cleanddd-dotnet-init确认已加载。

附带文件scripts/interactive_init.py

详细介绍

来自项目 README

cleanddd dotnet init

使用 dotnet new netcorepal-web 快速创建 CleanDDD dotnet 项目。脚本仅作为可选包装,代理/非交互场景可直接调用 dotnet。

使用时机

  • 从零新建 CleanDDD 解决方案,或需要在新目录快速生成可运行样板。
  • 已有旧模板需升级时,可在新目录重新生成后迁移代码。

前置输入

  • Framework (default net10.0): 可选 net8.0 / net9.0 / net10.0
  • Database (default MySql): 可选 MySql / SqlServer / PostgreSQL / Sqlite / GaussDB / DMDB / MongoDB
  • MessageQueue (default RabbitMQ): 可选 RabbitMQ / Kafka / AzureServiceBus / AmazonSQS / NATS / RedisStreams / Pulsar
  • UseAspire (default true): true / false
  • IncludeCopilotInstructions (default false): true / false
  • ProjectName (default 当前目录名,自动转 PascalCase,- 替换为 .)
  • OutputDir (default 当前目录路径)

在执行命令前:展示参数汇总及可选项,获得用户确认后再继续。

运行方式(dotnet)

  1. 安装模板(如未安装/需更新)
dotnet new install NetCorePal.Template
  1. 创建项目(示例参数,可按需替换)
dotnet new netcorepal-web \
  --Framework net10.0 \
  --Database MySql \
  --MessageQueue RabbitMQ \
  --UseAspire true \
  --name My.Project \
  --IncludeCopilotInstructions false \
  --output /path/to/target

在执行 dotnet new 前,请先向用户展示上述参数的汇总同时给出可选参数并获得明确确认,确认后再执行命令。

可选脚本(交互)

如需参数校验/交互式收集,可用包装脚本:

python3 scripts/interactive_init.py [同上参数,可省略进入交互]
  • 省略参数时进入交互模式,运行前会显示命令预览。
  • 默认自动安装/更新 NetCorePal.Template,如已安装可加 --skip-template-install。
  • 无论脚本或 agent 调用,都应在执行前展示参数汇总并请用户确认。

参数确认提示(示例)

  • "准备执行 cleanddd 模板:Framework=net10.0, Database=MySql, MessageQueue=RabbitMQ, UseAspire=true, IncludeCopilotInstructions=false, ProjectName=My.Project, OutputDir=/path。是否继续?"

评论

支持 Markdown