Analyzers for rIDE architecture, now with naming enforcement for DTOs, Managers, Engines, and Accessors based on namespace and suffix, as well as DTO property type restrictions.
$ dotnet add package RideCompilerThis directory contains Roslyn analyzers which strictly enforce the architectural and coding conventions required by rIDE on all StarterKit-based projects. These analyzers ensure that repositories remain fully compatible with rIDE's automation, code generation, and collaborative tooling.
Note: These analyzers are developed and maintained exclusively for the official rIDE infrastructure. External contributions are not accepted. Their scope and rules are tightly coupled to rIDE product needs and may change as required.
RideCompiler analyzers guarantee that all code in StarterKit-based projects adheres to rIDE's mandatory conventions for:
Strict enforcement ensures seamless integration with the rIDE ecosystem and reliable code automation.
IManagerService.void or a DTO (never collection, primitive, or nullable types).Api.Managers namespace must be named with the Manager suffix, otherwise an error is thrown.App.*.Utilities) contain only static methods (except constructors).Ensures:
Contracts.Dto.*) only have properties of explicitly allowed types -- see below for the updated allowed type set.Allowed:
int, long, short, float, double, decimal, bool, Guid, DateTime, void, string, objectFoo?) for any allowed typeFoo[]) and generic collections: List<T>, IEnumerable<T>, IList<T>, Dictionary<TKey, TValue> where key/value are allowedTask, Task<T> (with T allowed)Contracts.Dto namespace must have a Dto suffix.Api.Engines namespace must be named with the Engine suffix, otherwise an error is thrown.Api.Accessors namespace must be named with the Accessor suffix, otherwise an error is thrown.AnalyzerReleases.Shipped.txt: List of released and enforced analyzers.AnalyzerReleases.Unshipped.txt: Diagnostics under active development.Copyright © CodeBuddy Team