minipower-backend-scaffold-dotnet
Scaffold solution .NET 9 phân lớp + cài Jarvis framework từ folder trống — F5 chạy Swagger. Dùng khi tạo project backend mới, cài package Jarvis, hoặc thêm module vào solution có sẵn.
- License 许可
- MIT
- 最近更新
- 2026-11-09
- Stars
- ★ 7
- Forks
- 0
01 前言 Front Matter
- name
- minipower-backend-scaffold-dotnet
- metadata
- { "workflow": "github" }
- description
- Scaffold solution .NET 9 phân lớp + cài Jarvis framework từ folder trống — F5 chạy Swagger. Dùng khi tạo project backend mới, cài package Jarvis, hoặc thêm module vào solution có sẵn.
02 资源文件 30
- 参考文档README.md9.7 KB
- 参考文档reference/solution-structure.md8.5 KB
- 其他templates/csproj-references.xml2.2 KB
- 参考文档templates/docs-Architecture.md1.6 KB
- 参考文档templates/docs-README.md1.3 KB
- 其他templates/layer-csproj/Application.csproj.xml873 B
- 其他templates/layer-csproj/Domain.csproj.xml743 B
- 其他templates/layer-csproj/Domain.Shared.csproj.xml150 B
- 其他templates/layer-csproj/Host.csproj.xml1.7 KB
- 其他templates/layer-csproj/Infrastructure.csproj.xml953 B
- 其他templates/layers/AppDbContext.cs398 B
- 其他templates/layers/ApplicationLayerExtension.cs533 B
- 参考文档templates/layers/appsettings.json1.3 KB
- 其他templates/layers/AppUnitOfWork.cs343 B
- 其他templates/layers/DomainLayerExtension.cs355 B
- 其他templates/layers/EnrichLogService.cs287 B
- 其他templates/layers/EnrichTraceService.cs291 B
- 其他templates/layers/HostLayerExtension.cs2.5 KB
- 其他templates/layers/IAppUnitOfWork.cs128 B
- 其他templates/layers/InfrastructureLayerExtension.cs1.2 KB
- 参考文档templates/layers/launchSettings.json393 B
- 其他templates/layers/PingController.cs259 B
- 其他templates/layers/Program.cs177 B
- 其他templates/program-setup.cs1.6 KB
- 参考文档templates/README.md693 B
- 参考文档templates/SKILLS.md4.2 KB
- 参考文档templates/solution-tree.txt1.9 KB
- 参考文档workflows/add.md3.0 KB
- 参考文档workflows/init.md1.7 KB
- 参考文档workflows/scaffold.md9.5 KB
03 SKILL.md 正文
Jarvis Framework — Orchestrator
Skill điều phối scaffold solution chuẩn và cài đặt Jarvis trên ASP.NET Core .NET 9.
Luồng chính (khuyến nghị)
Folder trống → skill minipower-backend-scaffold-dotnet → solution phân lớp + Jarvis → F5
| Bước | Workflow |
|---|---|
| 1. Scaffold từ đầu | workflows/scaffold.md |
| 2. Thêm module Jarvis | workflows/add.md |
| 3. Chỉ cài package (solution có sẵn) | workflows/init.md |
Cấu trúc solution tiêu chuẩn
{product}-backend/
├── src/{Product}.sln
│ ├── {Product}.Domain.Shared
│ ├── {Product}.Domain
│ ├── {Product}.Application → Jarvis.DDD.Application
│ ├── {Product}.Infrastructure → Jarvis.EntityFramework
│ └── {Product}.Host → Jarvis.Mvc, OTEL, HealthChecks, Swagger
└── tests/
Chi tiết folder, DI convention, Jarvis mapping: reference/solution-structure.md.
Composition root: Program.cs chỉ gọi AddHostLayer() / UseHostLayer().
Templates scaffold
| Tài nguyên | Path |
|---|---|
| Bản đồ scaffold → skill | templates/SKILLS.md |
| Architecture test R1–R7 | minipower-backend-architecture-dotnet/templates/ArchitectureTests/ |
| Cây thư mục | templates/solution-tree.txt |
| Layer extensions + Host | templates/layers/ |
| csproj Jarvis refs | templates/layer-csproj/ |
| README / Architecture | templates/docs-README.md |
.editorconfig + Directory.Build.props |
minipower-backend-convention-dotnet/templates/ |
Hai cách cài Jarvis
| Cách | Khi nào |
|---|---|
| ProjectReference | Monorepo cạnh repo Jarvis ({JarvisRoot}) — packages cross-cutting trong {JarvisRoot}/frameworks/ |
| NuGet | Repo độc lập, feed nội bộ |
PackageId: Jarvis.Authentication.* folder → NuGet Jarvis.Authentications.*.
Catalog package (NuGet)
Phiên bản tham chiếu từ repo Jarvis (develop):
| Module | PackageId | Version | Layer |
|---|---|---|---|
| Domain shared | Jarvis.DDD.Domain.Shared |
1.0.0 | Domain.Shared |
| Domain | Jarvis.DDD.Domain |
1.1.1 | Host (enricher) |
| Application | Jarvis.DDD.Application |
1.2.1 | Application |
| Application contracts | Jarvis.DDD.Application.Contracts |
1.2.1 | Application |
| Entity Framework | Jarvis.EntityFramework |
1.0.0 | Infrastructure |
| Caching | Jarvis.Caching |
1.1.0 | Infrastructure (bắt buộc trước EF) |
| Caching Redis | Jarvis.Caching.Redis |
1.1.0 | Infrastructure (tùy chọn) |
| MVC | Jarvis.Mvc |
1.1.0 | Host — kéo transitive Jarvis.Common + Jarvis.DDD.Domain.Shared + Jarvis.OpenTelemetry, cân nhắc khi chỉ cần domain thuần |
| Swashbuckle | Jarvis.Swashbuckle |
1.0.1 | Host |
| Health checks | Jarvis.HealthChecks |
1.0.0 | Host |
| OpenTelemetry | Jarvis.OpenTelemetry |
1.0.1 | Host |
| Authentication | Jarvis.Authentications.* |
1.0.1 | Host |
Bảng đầy đủ / monorepo ProjectReference: workflows/init.md, csproj repo Jarvis.
Quy tắc DI (develop)
| Thứ tự | Lý do |
|---|---|
AddJarvisCaching() → AddEntityFramework() |
EF bọc ITenantConnectionStringResolver qua ICacheService |
AddCoreDbContext sau AddEntityFramework |
Multitenancy + interceptor |
AddJarvisOpenTelemetry trước Build() |
Plug-in trong callback configureServices |
Skill chuyên sâu: minipower-backend-entityframework-dotnet · minipower-backend-caching-dotnet · minipower-backend-telemetry-dotnet
Modules (atomic)
| Module | Skill chuyên sâu |
|---|---|
| Kiến trúc + tính năng mới | minipower-backend-architecture-dotnet |
| Authentication | minipower-backend-authentication-dotnet |
| Notification | minipower-backend-notification-dotnet |
| Entity Framework | minipower-backend-entityframework-dotnet |
| Caching | minipower-backend-caching-dotnet |
| Blob storing | minipower-backend-blobstoring-dotnet |
| Swashbuckle | minipower-backend-swashbuckle-dotnet |
| OpenTelemetry | minipower-backend-telemetry-dotnet |
| Health checks | minipower-backend-healthcheck-dotnet |
Mở rộng module: dùng templates/SKILLS.md và skill *-dotnet trong .opencode/skills/.
F5 sau scaffold
- Startup project:
{Product}.Host launchSettings.json→ SwaggerGET /api/ping— không cần DB/health/live— OK;/health/readycần PostgreSQL nếu bật DB check
Output bắt buộc (scaffold)
- Solution 5 project + 3 test projects (gồm
{Product}.ArchitectureTests) *LayerExtension.csmỗi layerProgram.csmỏngappsettings+launchSettings.editorconfig(root) +src/Directory.Build.props— minipower-backend-convention-dotnetdotnet buildthành công;dotnet test -c Debugxanh — kể cả luật kiến trúc R1–R7 (minipower-backend-architecture-dotnet)- Code C# theo minipower-backend-convention-dotnet —
dotnet format --verify-no-changessạch trên file đã chạm
04 同仓库更多 Skills
minipower-vcs-gitlab
Tra GitLab (search, issue, pipeline, MR), soạn MR/comment, tạo MR và commit/push sau L2. Dùng khi merge request, GitLab MCP, code_provider gitlab — không scaffold .NET, không force-push.
minipower-toolbox-skill-author
Viết và soát skill lá-rời Minipower (minipower-{module}-{capability}) — chọn module bằng 3 câu hỏi ADR-022, dựng cây SKILL.md/README.md/workflows/providers, đặt description kích hoạt được, cập nhật hub và test canh. Hỏi người xác nhận trước mọi quyết định, không tự chốt. Dùng khi tạo skill mới, thêm provider/pattern/workflow, mở module mới, hoặc soát skill có sẵn lệch chuẩn.
minipower-tasks-lark
Đọc, lọc, tìm, soạn nháp và ghi task Lark (tasklist / task) theo L1–L3. Dùng khi việc trên Lark, sprint, tasklist, "tìm task", "tạo task", tasks_provider lark — không dùng cho tin nhắn nhóm hay wiki.
minipower-support-registry
Rà registry DOC theo project_mode, nhắc owner thiếu ID hoặc chỗ lưu sai. Dùng khi doc-registry, thiếu DOC, rà soát tiêu chuẩn — không tự sửa FR, không init.
minipower-support-publish
暂无简介
minipower-router
Phân loại intent Minipower rồi gợi ý đúng một pack nghề hoặc kênh. Dùng khi làm gì tiếp, chọn skill, dispatcher, không biết mở pack nào — không tự gọi MCP L3, không spawn agent.