Paths: File paths (shared/, references/, ../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.
ln-722-backend-generator
Type: L3 Worker
Category: 7XX Project Bootstrap
Parent: ln-720-structure-migrator
Generates complete .NET backend structure following Clean Architecture principles.
Purpose & Scope
| Aspect |
Description |
| Input |
Project name, entity list, configuration options |
| Output |
Complete .NET solution with layered architecture |
| Target |
.NET 10+, ASP.NET Core |
Scope boundaries:
- Generates project structure and boilerplate code
- Creates MockData for initial development
- Does not implement business logic or database connections
Workflow
| Phase |
Name |
Actions |
Output |
| 1 |
Receive Context |
Get project name, entities, options from coordinator |
Configuration |
| 2 |
Create Solution |
Create .sln and .csproj files |
Empty solution structure |
| 3 |
Generate Domain |
Create entities, enums, base classes |
Domain project files |
| 4 |
Generate API |
Create controllers, DTOs, middleware |
API project files |
| 5 |
Verify |
Build solution, check references |
Build success |
Phase 1: Receive Context
Accept delegation from ln-720-structure-migrator.
| Input |
Type |
Required |
Description |
projectName |
string |
Yes |
Solution and project name prefix |
targetPath |
string |
Yes |
Directory for generated solution |
targetFramework |
string |
Yes |
.NET version (e.g., net10.0) |
entities |
list |
Yes |
Entity names to generate |
features |
list |
Yes |
Feature groupings for MockData |
Options:
| Option |
Default |
Effect |
useSwagger |
true |
Add Swashbuckle for API docs |
useSerilog |
true |
Add structured logging |
useHealthChecks |
true |
Add health endpoints |
createMockData |
true |
Generate mock data classes |
Phase 2: Create Solution
Generate solution file and project structure.
| Step |
Action |
Reference |
| 2.1 |
Create solution directory |
— |
| 2.2 |
Generate .sln file |
— |
| 2.3 |
Create project directories |
layer_structure.md |
| 2.4 |
Generate .csproj files per layer |
layer_structure.md |
| 2.5 |
Add project references |
layer_structure.md |
Generated projects:
| Project |
Purpose |
{Project}.Api |
HTTP endpoints, middleware |
{Project}.Domain |
Entities, enums |
{Project}.Services |
Business logic interfaces |
{Project}.Repositories |
Data access interfaces |
{Project}.Shared |
Cross-cutting utilities |
Phase 3: Generate Domain
Create domain layer files.
| Step |
Action |
Reference |
| 3.1 |
Create BaseEntity class |
entity_patterns.md |
| 3.2 |
Generate entity classes per input |
entity_patterns.md |
| 3.3 |
Generate status enums |
entity_patterns.md |
| 3.4 |
Create folder structure |
layer_structure.md |
Entity generation rules:
| Entity Property |
Generated As |
| Primary key |
public Guid Id { get; set; } |
| String field |
public string Name { get; set; } = string.Empty; |
| Status field |
public {Entity}Status Status { get; set; } |
| Timestamps |
CreatedAt, UpdatedAt from BaseEntity |
Phase 4: Generate API
Create API layer files.
| Step |
Action |
Reference |
| 4.1 |
Generate Program.cs |
program_sections.md |
| 4.2 |
Generate controllers per entity |
controller_patterns.md |
| 4.3 |
Generate DTOs per entity |
controller_patterns.md |
| 4.4 |
Generate middleware classes |
layer_structure.md |
| 4.5 |
Generate extension methods |
program_sections.md |
| 4.6 |
Generate MockData classes (if enabled) |
layer_structure.md |
| 4.7 |
Add NuGet packages |
nuget_packages.md |
Controller endpoints per entity:
| Endpoint |
Method |
Route |
| GetAll |
GET |
/api/{entities} |
| GetById |
GET |
/api/{entities}/{id} |
| Create |
POST |
/api/{entities} |
| Update |
PUT |
/api/{entities}/{id} |
| Delete |
DELETE |
/api/{entities}/{id} |
Phase 5: Verify
Validate generated solution.
| Check |
Command |
Expected |
| Solution builds |
dotnet build |
Success, no errors |
| Project references |
Check .csproj |
All references valid |
| Files created |
Directory listing |
All expected files present |
Generated Structure Summary
| Layer |
Folders |
Files per Entity |
| Api |
Controllers/, DTOs/, Middleware/, MockData/, Extensions/ |
Controller, DTO |
| Domain |
Entities/, Enums/, Common/ |
Entity, Status enum |
| Services |
Interfaces/ |
Interface (stub) |
| Repositories |
Interfaces/ |
Interface (stub) |
| Shared |
— |
Utility classes |
Critical Rules
- Single Responsibility: Generate only backend structure, no frontend
- Idempotent: Can re-run to regenerate (will overwrite)
- Build Verification: Must verify
dotnet build passes
- Clean Architecture: Respect layer dependencies (inner layers independent)
- No Business Logic: Generate structure only, not implementation
- MockData First: Enable immediate API testing without database
Definition of Done
Risk Mitigation
| Risk |
Detection |
Mitigation |
| Build failure |
dotnet build fails |
Check .csproj references, verify SDK version |
| Missing references |
CS0246 errors |
Add missing project references |
| Invalid entity names |
Build or runtime errors |
Validate entity names before generation |
| Path conflicts |
File exists errors |
Check target path, prompt before overwrite |
| Package restore failure |
NuGet errors |
Verify network, check package names |
Reference Files
| File |
Purpose |
references/layer_structure.md |
Project organization, folder structure, dependencies |
references/entity_patterns.md |
Entity generation rules, property patterns |
references/controller_patterns.md |
Controller and DTO generation rules |
references/program_sections.md |
Program.cs structure and service registration |
references/nuget_packages.md |
Required and optional NuGet packages |
Version: 2.0.0
Last Updated: 2026-01-10
1---2name: ln-722-backend-generator-53description: Generates .NET Clean Architecture backend structure from entity definitions4---56> **Paths:** File paths (`shared/`, `references/`, `../ln-*`) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.78# ln-722-backend-generator910**Type:** L3 Worker11**Category:** 7XX Project Bootstrap12**Parent:** ln-720-structure-migrator1314Generates complete .NET backend structure following Clean Architecture principles.1516---1718## Purpose & Scope1920| Aspect | Description |21|--------|-------------|22| **Input** | Project name, entity list, configuration options |23| **Output** | Complete .NET solution with layered architecture |24| **Target** | .NET 10+, ASP.NET Core |2526**Scope boundaries:**27- Generates project structure and boilerplate code28- Creates MockData for initial development29- Does not implement business logic or database connections3031---3233## Workflow3435| Phase | Name | Actions | Output |36|-------|------|---------|--------|37| 1 | Receive Context | Get project name, entities, options from coordinator | Configuration |38| 2 | Create Solution | Create .sln and .csproj files | Empty solution structure |39| 3 | Generate Domain | Create entities, enums, base classes | Domain project files |40| 4 | Generate API | Create controllers, DTOs, middleware | API project files |41| 5 | Verify | Build solution, check references | Build success |4243---4445## Phase 1: Receive Context4647Accept delegation from ln-720-structure-migrator.4849| Input | Type | Required | Description |50|-------|------|----------|-------------|51| `projectName` | string | Yes | Solution and project name prefix |52| `targetPath` | string | Yes | Directory for generated solution |53| `targetFramework` | string | Yes | .NET version (e.g., net10.0) |54| `entities` | list | Yes | Entity names to generate |55| `features` | list | Yes | Feature groupings for MockData |5657**Options:**5859| Option | Default | Effect |60|--------|---------|--------|61| `useSwagger` | true | Add Swashbuckle for API docs |62| `useSerilog` | true | Add structured logging |63| `useHealthChecks` | true | Add health endpoints |64| `createMockData` | true | Generate mock data classes |6566---6768## Phase 2: Create Solution6970Generate solution file and project structure.7172| Step | Action | Reference |73|------|--------|-----------|74| 2.1 | Create solution directory | — |75| 2.2 | Generate .sln file | — |76| 2.3 | Create project directories | `layer_structure.md` |77| 2.4 | Generate .csproj files per layer | `layer_structure.md` |78| 2.5 | Add project references | `layer_structure.md` |7980**Generated projects:**8182| Project | Purpose |83|---------|---------|84| `{Project}.Api` | HTTP endpoints, middleware |85| `{Project}.Domain` | Entities, enums |86| `{Project}.Services` | Business logic interfaces |87| `{Project}.Repositories` | Data access interfaces |88| `{Project}.Shared` | Cross-cutting utilities |8990---9192## Phase 3: Generate Domain9394Create domain layer files.9596| Step | Action | Reference |97|------|--------|-----------|98| 3.1 | Create `BaseEntity` class | `entity_patterns.md` |99| 3.2 | Generate entity classes per input | `entity_patterns.md` |100| 3.3 | Generate status enums | `entity_patterns.md` |101| 3.4 | Create folder structure | `layer_structure.md` |102103**Entity generation rules:**104105| Entity Property | Generated As |106|-----------------|--------------|107| Primary key | `public Guid Id { get; set; }` |108| String field | `public string Name { get; set; } = string.Empty;` |109| Status field | `public {Entity}Status Status { get; set; }` |110| Timestamps | `CreatedAt`, `UpdatedAt` from BaseEntity |111112---113114## Phase 4: Generate API115116Create API layer files.117118| Step | Action | Reference |119|------|--------|-----------|120| 4.1 | Generate Program.cs | `program_sections.md` |121| 4.2 | Generate controllers per entity | `controller_patterns.md` |122| 4.3 | Generate DTOs per entity | `controller_patterns.md` |123| 4.4 | Generate middleware classes | `layer_structure.md` |124| 4.5 | Generate extension methods | `program_sections.md` |125| 4.6 | Generate MockData classes (if enabled) | `layer_structure.md` |126| 4.7 | Add NuGet packages | `nuget_packages.md` |127128**Controller endpoints per entity:**129130| Endpoint | Method | Route |131|----------|--------|-------|132| GetAll | GET | `/api/{entities}` |133| GetById | GET | `/api/{entities}/{id}` |134| Create | POST | `/api/{entities}` |135| Update | PUT | `/api/{entities}/{id}` |136| Delete | DELETE | `/api/{entities}/{id}` |137138---139140## Phase 5: Verify141142Validate generated solution.143144| Check | Command | Expected |145|-------|---------|----------|146| Solution builds | `dotnet build` | Success, no errors |147| Project references | Check .csproj | All references valid |148| Files created | Directory listing | All expected files present |149150---151152## Generated Structure Summary153154| Layer | Folders | Files per Entity |155|-------|---------|------------------|156| Api | Controllers/, DTOs/, Middleware/, MockData/, Extensions/ | Controller, DTO |157| Domain | Entities/, Enums/, Common/ | Entity, Status enum |158| Services | Interfaces/ | Interface (stub) |159| Repositories | Interfaces/ | Interface (stub) |160| Shared | — | Utility classes |161162---163164## Critical Rules165166- **Single Responsibility:** Generate only backend structure, no frontend167- **Idempotent:** Can re-run to regenerate (will overwrite)168- **Build Verification:** Must verify `dotnet build` passes169- **Clean Architecture:** Respect layer dependencies (inner layers independent)170- **No Business Logic:** Generate structure only, not implementation171- **MockData First:** Enable immediate API testing without database172173---174175## Definition of Done176177- [ ] Solution file created with all projects178- [ ] All project references configured correctly179- [ ] Domain entities generated for all input entities180- [ ] Controllers generated with CRUD endpoints181- [ ] DTOs generated for request/response182- [ ] MockData classes generated (if enabled)183- [ ] Program.cs configured with all services184- [ ] `dotnet build` passes successfully185- [ ] Swagger UI accessible (if enabled)186187---188189## Risk Mitigation190191| Risk | Detection | Mitigation |192|------|-----------|------------|193| Build failure | `dotnet build` fails | Check .csproj references, verify SDK version |194| Missing references | CS0246 errors | Add missing project references |195| Invalid entity names | Build or runtime errors | Validate entity names before generation |196| Path conflicts | File exists errors | Check target path, prompt before overwrite |197| Package restore failure | NuGet errors | Verify network, check package names |198199---200201## Reference Files202203| File | Purpose |204|------|---------|205| `references/layer_structure.md` | Project organization, folder structure, dependencies |206| `references/entity_patterns.md` | Entity generation rules, property patterns |207| `references/controller_patterns.md` | Controller and DTO generation rules |208| `references/program_sections.md` | Program.cs structure and service registration |209| `references/nuget_packages.md` | Required and optional NuGet packages |210211---212213**Version:** 2.0.0214**Last Updated:** 2026-01-10