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.
- Autor
- irahardianto ↗
- Repozytorium
- awesome-agv ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 15.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 1
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 15.10.2026, bez odwołań do wycofanych modeli i API.
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
- .NET Idioms and Patterns
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.