Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

dotnet-idioms

/dotnet-idioms

Opisuje architekturę .NET 8+: Minimal APIs, dostęp do danych w EF Core, konfigurację IOptions, potoki middleware i testy WebApplicationFactory, dla usług ASP.NET Core i backendów chmurowych.

Repozytorium
awesome-agv ↗
Licencja
MIT
Ostatnia zmiana repozytorium
15.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 15.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Opisuje architekturę .NET 8+: Minimal APIs, dostęp do danych w EF Core, konfigurację IOptions, potoki middleware i testy WebApplicationFactory, dla usług ASP.NET Core i backendów chmurowych.

Oryginalny opis (EN)

.NET 8+ framework architecture: Minimal APIs, EF Core data access, IOptions configuration, middleware pipelines, and WebApplicationFactory testing. Use when building ASP.NET Core services, Web APIs, or .NET cloud backends. Pair with csharp-idioms.

Jak działa

  1. .NET Idioms and Patterns
Sekcje z nagłówków SKILL.md, w oryginale · 81 linii, 259 słów
Podgląd SKILL.md
---
name: dotnet-idioms
description: >-
  .NET 8+ framework architecture: Minimal APIs, EF Core data access, IOptions configuration, middleware pipelines, and WebApplicationFactory testing. Use when building ASP.NET Core services, Web APIs, or .NET cloud backends. Pair with csharp-idioms.
---

## .NET Idioms and Patterns

.NET 8+ rewards minimal APIs, DI, and async-first design. Idiomatic .NET = clean, performant, cloud-native.

> Scope: .NET framework patterns. For C#: `@.agents/skills/csharp-idioms/SKILL.md`.

### Minimal APIs

1. **Minimal APIs for simple endpoints:**
   ```csharp
   app.MapGet("/api/tasks/{id}", async (string id, ITaskService service) =>
       await service.GetByIdAsync(id) is Task task
           ? Results.Ok(task)
           : Results.NotFound());

   app.MapPost("/api/tasks", async (CreateTaskRequest request, ITaskService service) =>
   {
       var task = await service.CreateAsync(request);
       return Results.Created($"/api/tasks/{task.Id}", task);
   });
   ```

2. **Controllers for complex endpoints** with filters, model binding, etc.

### Entity Framework Core

1. **DbContext per request** (scoped lifetime).
2. **Migrations via CLI:**
   ```bash
   dotnet ef migrations add AddTaskPriority
   dotnet ef database update
   ```
3. **`AsNoTracking()`** for read-only queries.
4. **Compiled queries** for hot paths.

### Configuration

1. **`IOptions<T>`** pattern for strongly-typed config:
   ```csharp
   builder.Services.Configure<DatabaseOptions>(builder.Configuration.GetSection("Database"));
   ```

2. **User secrets** for local development, Key Vault for production.

### Middleware

1. **Custom middleware** for cross-cutting concerns (logging, correlation IDs).
2. **`UseExceptionHandler`** for global error handling.

### Testing

> For universal testing principles, see `.agents/rules/testing-strategy.md`. Below: language-specific patterns only.

1. **xUnit + FluentAssertions:**
   ```csharp
   [Fact]
   public async Task GetTask_ReturnsOk_WhenExists()
   {
       var client = _factory.CreateClient();
       var response = await client.GetAsync("/api/tasks/1");
       response.StatusCode.Should().Be(HttpStatusCode.OK);
   }
   ```

2. **`WebApplicationFactory<T>`** for integration tests.
3. **Respawn** for database cleanup.

### Formatting and Static Analysis

| Tool | Purpose | Command |
|---|---|---|
| `dotnet format` | Formatting | `dotnet format` |
| Roslyn analyzers | Analysis | Built-in |
| `dotnet list package --vulnerable` | CVE scanning | Built-in |

### Related
- C# Idioms @.agents/skills/csharp-idioms/SKILL.md
- API Design Principles @.agents/rules/api-design-principles.md
- Database Design Principles @.agents/rules/database-design-principles.md

Wersje

W bazie nie ma innych skilli o nazwie dotnet-idioms.

Migawka bazy z 28.10.2026 · wersja paczki b1c299d922f5 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100aspnet-core
    Wspiera tworzenie backendowych API i usług chmurowych w ASP.NET Core: Minimal APIs, routing kontrolerów, Entity Framework Core, middleware i wstrzykiwanie zależności.
  • 100aspnet-core
    Dostarcza zasady i dobre praktyki dla projektów ASP.NET Core: Minimal APIs, EF Core, uwierzytelnianie, middleware i wdrażanie.
  • 100dotnet-core-expert
    Pomaga budować aplikacje .NET Core o architekturze cloud-native, wydajne mikroserwisy, nowoczesne wzorce C# i wdrożenia wieloplatformowe z minimal APIs i funkcjami ASP.NET Core.
  • 100csharp-dotnet
    Pomaga pisać, recenzować, testować i wydawać kod C# i .NET: API ASP.NET Core (minimal API lub kontrolery), dostęp do danych EF Core, poprawność async i układ solucji.
  • 90dotnet-backend-patterns
    Dostarcza wzorce .NET i ASP.NET Core dla REST API, Entity Framework, wstrzykiwania zależności i middleware, przy pracy z plikami C# i projektami csproj.
  • 100csharp-dotnet
    Podaje wzorce C# i .NET: Clean Architecture, wstrzykiwanie zależności, async, wzorzec Result, Minimal API, zapytania EF Core i testy jednostkowe.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.