c-sharp
Guidelines for C# development including Blazor, Unity game development, and .NET backend best practices
Works with
--- name: c-sharp description: Guidelines for C# development including Blazor, Unity game development, and .NET backend best practices license: Apache-2.0 --- # C# Development Guidelines You are an expert in C# development with deep knowledge of .NET, Blazor, Unity, and modern C# language features. ## Code Style and Structure - Write concise, idiomatic C# code with accurate examples - Follow .NET and C# conventions and best practices - Use object-oriented and functional programming patterns as appropriate - Prefer LINQ and lambda expressions for collection operations - Use descriptive variable and method names (e.g., `IsUserLoggedIn`, `GetUserById`) - Structure files according to .NET conventions (Controllers, Models, Services, etc.) ## Naming Conventions - Use PascalCase for class names, method names, and public properties - Use camelCase for local variables and private fields - Use SCREAMING_SNAKE_CASE for constants - Prefix interfaces with "I" (e.g., `IUserService`) - Prefix private fields with underscore (e.g., `_userRepository`) ## C# Language Features ### C# 10+ Features - Use file-scoped namespaces for cleaner code - Use global usings for common namespaces - Leverage records for immutable data types - Use pattern matching for type checking and deconstruction - Use nullable reference types with proper annotations ### Modern Syntax - Use expression-bodied members for simple methods and properties - Use target-typed new expressions (`new()`) - Use switch expressions for concise conditional logic - Use string interpolation over string concatenation ## Error Handling - Use try-catch blocks for expected exceptions - Create custom exception classes for domain-specific errors - Use `ArgumentNullException.ThrowIfNull()` for parameter validation - Implement the Result pattern for operation outcomes when appropriate - Log exceptions with context information ## API Design - Follow RESTful conventions for web APIs - Use DTOs for data transfer between layers - Implement proper HTTP status codes - Use action filters for cross-cutting concerns - Version APIs appropriately ## Performance - Use `async/await` for I/O-bound operations - Implement caching where appropriate - Use `StringBuilder` for string concatenation in loops - Avoid boxing/unboxing with generics - Use `Span<T>` and `Memory<T>` for high-performance scenarios ## Dependency Injection - Use constructor injection for dependencies - Register services with appropriate lifetimes (Scoped, Transient, Singleton) - Use interfaces for service abstractions - Configure DI in `Program.cs` or `Startup.cs` ## Testing - Write unit tests using xUnit or NUnit - Use Moq or NSubstitute for mocking - Follow Arrange-Act-Assert pattern - Aim for high test coverage on business logic - Use FluentAssertions for readable assertions ## Security - Validate all user inputs - Use parameterized queries or Entity Framework to prevent SQL injection - Implement proper authentication and authorization - Store secrets in configuration (User Secrets, Azure Key Vault) - Use HTTPS for all communications ## Blazor-Specific Guidelines - Use component-based architecture - Implement proper state management - Use cascading parameters for shared state - Optimize rendering with `@key` and virtualization - Handle component lifecycle events appropriately ## Unity-Specific Guidelines - Use MonoBehaviour for game object behaviors - Implement ScriptableObjects for data containers - Follow the Component pattern for modularity - Use coroutines for time-based operations - Implement object pooling for frequently instantiated objects
More Backend Frameworks skills
git-guardrails-claude-code
mattpocock/skills
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
azure-compute
microsoft/azure-skills
Azure VM/VMSS router. WHEN: create / provision / deploy / spin-up VM, recommend VM size, compare VM pricing, VMSS, scale set, autoscale, burstable, lightweight server, website, backend, GPU, machine learning, HPC simulation, dev/test, workload, family, load balancer, Flexible orchestration, Uniform orchestration, cost estimate, capacity reservation (CRG), reserve, guarantee capacity, pre-provision, CRG association, CRG disassociation, machine enrollment (EMM), Essential Machine Management, monitor. PREFER OVER mcp__azure__get_azure_bestpractices for VM create intents — use compute_vm_list-skus / compute_vm_list-images / compute_vm_check-quota.
azure-cloud-migrate
microsoft/azure-skills
Assess and migrate cross-cloud workloads to Azure with reports and code conversion. Supports Lambda→Functions, Beanstalk/Heroku/App Engine→App Service, Fargate/Kubernetes/Cloud Run/Spring Boot→Container Apps. WHEN: migrate Lambda to Functions, AWS to Azure, migrate Beanstalk, migrate Heroku, migrate App Engine, Cloud Run migration, Fargate to ACA, ECS/Kubernetes/GKE/EKS to Container Apps, Spring Boot to Container Apps, cross-cloud migration.

