Skip to content

Enforce dedicated Options folders - #22

Merged
PANiXiDA merged 1 commit into
developmentfrom
feature/options-folder-convention
Aug 2, 2026
Merged

Enforce dedicated Options folders#22
PANiXiDA merged 1 commit into
developmentfrom
feature/options-folder-convention

Conversation

@PANiXiDA

@PANiXiDA PANiXiDA commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

What changed

  • added an architecture convention requiring every root configuration <Name>Options to reside under Options/<Name>/;
  • kept each options class beside its registered IValidateOptions<TOptions> validator;
  • moved the existing Identity provider, messaging, cleanup, OAuth, and SMTP options pairs into dedicated subdirectories;
  • updated namespaces and all repository references;
  • documented the new convention in the architecture tests README.

Why

The existing convention only required an options class and its validator to share a directory. It did not prevent options pairs from being placed directly in an Options directory or outside a dedicated feature-specific subdirectory.

The new rule makes the required layout explicit and enforceable: Options/<Name>/<Name>Options.cs together with <Name>OptionsValidator.cs.

Verification

  • dotnet build tests/PANiXiDA.TacticalHeroes.ArchitectureTests/PANiXiDA.TacticalHeroes.ArchitectureTests.csproj --configuration Release --no-restore: passed with 0 warnings and 0 errors;
  • dotnet format PANiXiDA.TacticalHeroes.slnx --verify-no-changes --no-restore: passed;
  • local tests were not run by request; the full suite and coverage validation are left to CI.

Compatibility

  • migrations: none;
  • HTTP request and response contracts: unchanged;
  • configuration keys and SectionName values: unchanged;
  • configuration files: unchanged;
  • runtime breaking changes: none;
  • source namespaces of the moved Options types changed; all consumers in this repository were updated.

@PANiXiDA
PANiXiDA marked this pull request as ready for review August 2, 2026 13:46
@PANiXiDA
PANiXiDA merged commit 28d3ae6 into development Aug 2, 2026
18 checks passed
@PANiXiDA
PANiXiDA deleted the feature/options-folder-convention branch August 2, 2026 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants