From zenbu-powers
C# IT 專案骨架生成器。使用 AskUserQuestion 詢問專案目錄與命名, 再從 templates/ 一次性建立完整的 ASP.NET Core + SpecFlow + Testcontainers 骨架。
npx claudepluginhub zenbuapps/zenbu-powers --plugin zenbu-powersThis skill uses the workspace's default tool permissions.
一次性建立 C# Integration Test 專案骨架:ASP.NET Core Web API + SpecFlow + Testcontainers PostgreSQL + xUnit + FluentAssertions。
templates/ProjectName.slntemplates/docker-compose.ymltemplates/src__ProjectName__Data__AppDbContext.cstemplates/src__ProjectName__Helpers__JwtMiddleware.cstemplates/src__ProjectName__Program.cstemplates/src__ProjectName__ProjectName.csprojtemplates/tests__IT__CustomWebApplicationFactory.cstemplates/tests__IT__Helpers__JwtHelper.cstemplates/tests__IT__Hooks__TestHooks.cstemplates/tests__IT__ProjectName.IntegrationTests.csprojtemplates/tests__IT__Steps__CommonThen__FailureSteps.cstemplates/tests__IT__Steps__CommonThen__SuccessSteps.cstemplates/tests__IT__specflow.jsonSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Guides code writing, review, and refactoring with Karpathy-inspired rules to avoid overcomplication, ensure simplicity, surgical changes, and verifiable success criteria.
Share bugs, ideas, or general feedback.
一次性建立 C# Integration Test 專案骨架:ASP.NET Core Web API + SpecFlow + Testcontainers PostgreSQL + xUnit + FluentAssertions。
C# IT project scaffold generator。讀取 templates/ 內所有檔案,替換 ${ProjectName} 佔位符,輸出到目標目錄。
AskUserQuestion 詢問:
WsaPlatform)templates/ 每個檔案${ProjectName} 為使用者輸入__ 還原為路徑分隔符(例如 src__ProjectName__Program.cs → src/WsaPlatform/Program.cs)${PROJECT_DIR}/
├── src/
│ └── ${ProjectName}/
│ ├── Program.cs
│ ├── ${ProjectName}.csproj
│ ├── Models/ # 空目錄(schema-analysis 填入)
│ ├── Repositories/ # 空目錄(red 填入)
│ ├── Services/ # 空目錄(red 填入)
│ ├── Controllers/ # 空目錄(green 填入)
│ ├── DTOs/ # 空目錄
│ ├── Data/
│ │ └── AppDbContext.cs
│ └── Helpers/
│ └── JwtMiddleware.cs
├── tests/
│ └── ${ProjectName}.IntegrationTests/
│ ├── ${ProjectName}.IntegrationTests.csproj
│ ├── specflow.json
│ ├── CustomWebApplicationFactory.cs
│ ├── Hooks/
│ │ └── TestHooks.cs
│ ├── Helpers/
│ │ └── JwtHelper.cs
│ ├── Steps/
│ │ └── CommonThen/
│ │ ├── SuccessSteps.cs
│ │ └── FailureSteps.cs
│ └── Features/ # symlink 至 specs/features/
├── ${ProjectName}.sln
├── docker-compose.yml
└── .gitignore
# 還原 NuGet 套件
dotnet restore
# 編譯確認沒錯
dotnet build
# 嘗試跑一次 test(此時沒有 feature,應該 0 tests 通過即可)
dotnet test
# 驗證 Docker 可用
docker compose up -d
docker compose ps
docker compose down
| 檔名 | 產出位置 |
|---|---|
src__ProjectName__Program.cs | src/${ProjectName}/Program.cs |
src__ProjectName__Data__AppDbContext.cs | src/${ProjectName}/Data/AppDbContext.cs |
src__ProjectName__Helpers__JwtMiddleware.cs | src/${ProjectName}/Helpers/JwtMiddleware.cs |
src__ProjectName__ProjectName.csproj | src/${ProjectName}/${ProjectName}.csproj |
tests__IT__CustomWebApplicationFactory.cs | tests/${ProjectName}.IntegrationTests/CustomWebApplicationFactory.cs |
tests__IT__Hooks__TestHooks.cs | tests/${ProjectName}.IntegrationTests/Hooks/TestHooks.cs |
tests__IT__Helpers__JwtHelper.cs | tests/${ProjectName}.IntegrationTests/Helpers/JwtHelper.cs |
tests__IT__Steps__CommonThen__SuccessSteps.cs | tests/${ProjectName}.IntegrationTests/Steps/CommonThen/SuccessSteps.cs |
tests__IT__Steps__CommonThen__FailureSteps.cs | tests/${ProjectName}.IntegrationTests/Steps/CommonThen/FailureSteps.cs |
tests__IT__specflow.json | tests/${ProjectName}.IntegrationTests/specflow.json |
tests__IT__ProjectName.IntegrationTests.csproj | tests/${ProjectName}.IntegrationTests/${ProjectName}.IntegrationTests.csproj |
ProjectName.sln | ${ProjectName}.sln |
docker-compose.yml | docker-compose.yml |
IT 代表 ${ProjectName}.IntegrationTests,寫檔時替換為實際名稱。
${ProjectName} 佔位符 — 包含檔名、class name、namespace、.sln project pathModels/, Repositories/, Services/, Controllers/, DTOs/(可放 .gitkeep)specs/features/,保持 SSOT 一致dotnet build 成功後才算完成[ApiController] + 屬性路由Program.cs 結尾加 public partial class Program { } — 讓 WebApplicationFactory<Program> 能存取使用者呼叫 /zenbu-powers:aibdd.auto.csharp.it.starter
↓
產出完整骨架(專案結構 + 框架配置)
↓
後續由 /zenbu-powers:aibdd.auto.csharp.it.control-flow 驅動:
→ schema-analysis 填入 Models/
→ step-template 填入 Steps/
→ red 填入 Repositories/ Services/(空實作)
→ green 填入 Controllers/ + 方法實作
→ refactor 改善品質
${ProjectName} 佔位符全部替換dotnet restore 成功dotnet build 成功docker compose up -d 可啟動 PostgreSQLsrc/ 與 tests/ 分離)