Back to the catalog

csharp-aesthetic-architecture

Enforce and apply modern, aesthetic C# architecture principles across .NET codebases. Provides opinionated guidance for Vertical Slice Archi

Open source Repository Open in the app JSON README (API)

About

Enforce and apply modern, aesthetic C# architecture principles across .NET codebases. Provides opinionated guidance for Vertical Slice Architecture, CQRS, Minimal APIs, C# 12-14 language features, and clean code practices. Includes a 100+ item review checklist, anti-pattern detection with fixes, EF Core query patterns, and cross-cutting concern pipelines. The skill validates target framework prerequisites before suggesting newer C# syntax and covers naming conventions, premature optimization, composition over inheritance, functional patterns, and exception handling best practices.

Details

Kind
Plugins
Topic
No topic detected
Publisher
chasedredmon
Origin
marketplace
Category
ferramentas
Last push
2026-04-01T15:46:32Z
Repository state
ativo
License
MIT
Added
2026-08-30 01:48:58
Updated
2026-08-30 01:48:58
Origin id
chasedredmon/csharp-aesthetic-architecture/csharp-aesthetic-architecture

README

# C# Aesthetic Architecture

A [Claude Code](https://claude.com/claude-code) plugin for building, reviewing, and refactoring C# / .NET codebases using modern aesthetic architecture principles. Combines Vertical Slice Architecture, CQRS, functional design, modern C# idioms (C# 12-14), and clean code practices into a unified development philosophy.

## Installation

```bash
git clone git@github.com:ChaseDRedmon/csharp-aesthetic-architecture.git ~/.claude/skills/csharp-aesthetic-architecture
```

## Philosophy

Everything derives from one principle: **Optimize for human comprehension, not theoretical purity.**

- Prefer **clarity** over cleverness
- Prefer **duplication** over coupling (WET > DRY when DRY creates cross-slice dependencies)
- Prefer **composition** over inheritance
- Prefer **immutability** by default
- Prefer **feature-based** organization over layer-based
- Prefer **measuring** over guessing (no premature optimization)
- Prefer **iteration** over recursion (C# has no guaranteed TCO)

## What's Included

| File | Topics |
|---|---|
| `references/architecture.md` | Vertical Slice Architecture, CQRS, Minimal APIs, pipeline behaviors, composition over inheritance, DI rules |
| `references/csharp-idioms.md` | Sealed classes, records, pattern matching, value objects, functional patterns, C# 12/13/14 features |
| `references/code-quality.md` | Naming, formatting, complexity control, premature optimization, anti-patterns |
| `references/review-checklist.md` | 100+ item code review checklist with severity levels |
| `references/efcore-patterns.md` | EF Core query patterns, configuration, migrations |
| `references/cross-cutting.md` | Validation, logging, metrics, authorization, error handling pipelines |

## C# Version Coverage

Each version includes prerequisite validation (`TargetFramework` / `LangVersion` checks):

- **C# 12 (.NET 8)** - Collection expressions, primary constructors, alias any type, default lambda parameters
- **C# 13 (.NET 9)** - `params` collections, `System.Threading.Lock`, `allows ref struct`, partial properties
- **C# 14 (.NET 10)** - Extension members, `field` keyword, null-conditional assignment, implicit span conversions

## Anti-Patterns Detected

**Architecture** - Repository over EF Core, implicit operator DTO conversion, anemic domain models, god controllers, premature abstractions, singleton abuse

**Async & Exceptions** - Forgotten `await`, `async void`, `throw ex`, swallowed exceptions, sync-over-async

**Naming & Style** - Hungarian notation, abbreviations, `Utils`/`Helper`/`Base` classes, magic strings

**Resources** - `new HttpClient()` socket exhaustion, recursive traversal (prefer `Stack<T>`/`Queue<T>`)

## Code Quality Guidelines

1. **Abstraction tradeoffs** - coupling is the cost of abstraction; composition over inheritance
2. **Naming** - never abbreviate, no Hungarian notation, use types for units
3. **Nesting** - max 3 levels; guard clauses and extraction to flatten
4. **Comments** - code speaks for itself; comments only for *why* (perf, algorithms, workarounds)
5. **Premature optimization** - measure before optimizing; macro moves before micro-tuning
6. **Dependency injection** - pass it in; factories for runtime decisions
7. **Functional thinking** - impure shell/pure core; LINQ pipelines; iteration over recursion

## License

[MIT](LICENSE.md)

More