Files
Elternbeirat/.editorconfig
T

57 lines
2.5 KiB
INI

# EditorConfig for the Elternbeirat solution.
# https://editorconfig.org / https://learn.microsoft.com/dotnet/fundamentals/code-analysis/code-style-rule-options
#
# Code-style rules are added here over time. Kept intentionally minimal for now;
# the .NET analyzers (see Directory.Build.props) already run at their sharpest.
root = true
[*]
charset = utf-8
end_of_line = crlf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
[*.{cs,csproj,props,targets}]
indent_size = 4
[*.{json,yml,yaml}]
indent_size = 2
[*.cs]
# CA1716 flags type names that collide with Visual Basic keywords (e.g. Event).
# This app is not consumed from VB, and Event/Post are the project's deliberate
# domain names (see CLAUDE.md: "im Code Event, nicht Termin"). Renaming would
# break that convention for a problem this codebase does not have.
dotnet_diagnostic.CA1716.severity = none
# CA1515 suggests making types internal because an app's types are not referenced
# from outside its assembly. That is a library-author rule with no benefit here:
# this is an application, not a reusable package. Razor components (Home, PostList,
# ...) must stay public so Blazor can render them, and the Contracts records are
# consumed from another project. Turning types internal would gain nothing.
dotnet_diagnostic.CA1515.severity = none
# CA1062 wants public methods to null-check their arguments. The public surface
# here is DI constructors and Blazor components, never called by foreign code with
# raw arguments; the container always supplies its dependencies. With #nullable on,
# a non-nullable parameter already carries the "never null" contract in its type.
dotnet_diagnostic.CA1062.severity = none
# CA2007 (ConfigureAwait) targets libraries with a SynchronizationContext (WinForms,
# WPF, classic ASP.NET). ASP.NET Core has none, so ConfigureAwait(false) would be
# pure noise here. Microsoft's own project templates disable this rule.
dotnet_diagnostic.CA2007.severity = none
# CA1812 flags types "never instantiated". The JSON DTOs (e.g. RecordList<T>) are
# only created by the deserializer via reflection, which the analyzer cannot see.
# This is a known false positive for deserialization types.
dotnet_diagnostic.CA1812.severity = none
# CA1724 flags a type name that matches part of its namespace (Home in
# ...Features.Home). That collision is a deliberate result of the feature-folder
# layout and is harmless (Blazor routing is not namespace-based). Renaming would
# break the folder convention for no benefit.
dotnet_diagnostic.CA1724.severity = none