Skip to content

docs: sync skill files and CLAUDE.md with current framework#245

Merged
antosubash merged 2 commits into
mainfrom
docs/sync-skill-docs
Jun 8, 2026
Merged

docs: sync skill files and CLAUDE.md with current framework#245
antosubash merged 2 commits into
mainfrom
docs/sync-skill-docs

Conversation

@antosubash

Copy link
Copy Markdown
Owner

What

Audits all repo Claude skill files (minimal-api, new-module, simplemodule + its references) and CLAUDE.md against the current SimpleModule framework and fixes drift accumulated since they were last touched.

Why

The skill docs still described removed/renamed APIs, so anyone — human or agent — following them would write code against APIs that no longer exist (e.g. IEventBus, static validators, Views/, Microsoft.NET.Sdk.Razor).

Changes

Framework API drift

  • Event bus → Wolverine (IMessageBus, DomainEvent, convention-discovered handlers); removed IEventBus/IEventHandler.
  • Validation → FluentValidation (injected IValidator<T>, await ValidateAsync, ToValidationErrors(), Core.Exceptions.ValidationException).
  • Views/Pages/ (IViewEndpoint co-located with its .tsx).
  • Module impl csproj Microsoft.NET.Sdk.RazorMicrosoft.NET.Sdk.StaticWebAssets; SimpleModule.Database referenced only when the module owns a DbContext.
  • Added missing IModule hooks (ConfigureFeatureFlags/Agents/RateLimits/Host, CheckHealthAsync), settings .Add(), full SettingType enum, sealed … : IModulePermissions.

CLAUDE.md

  • "Adding a New Module" now uses SimpleModule.<Name>[.Contracts|.Tests] naming, StaticWebAssets SDK, Endpoints/+Pages/ feature dirs, and Wolverine IMessageBus in the Core description.

Accuracy fixes (from an extra-high-effort /code-review self-pass)

  • Corrected the framework/ directory list (removed non-existent DevTools/Agents/AI.*/Rag.*).
  • Pages/ feature subfolder is optional — removes a Pages/{Feature}/ rule that contradicted the flat import('./X') example and would 404 client-side.
  • CA1812 is suppressed per-directory (Endpoints/, Pages/*Endpoint.cs), not globally.
  • DbContext ProjectReference shown as conditional/commented.

Verification

Every API name, enum member, csproj SDK, and path was checked against real tracked source (framework/SimpleModule.Core/** and tracked modules Admin/Email/Settings/Users). Docs-only change — no application code touched; all code fences balanced.

Audit the repo's Claude skill docs against the live codebase and correct
drift accumulated since they were last touched.

Framework API updates:
- Event bus -> Wolverine: IMessageBus, DomainEvent base record, convention
  handlers (replaces removed IEventBus/IEventHandler).
- Validation -> FluentValidation: injected IValidator<T>, ValidateAsync,
  ToValidationErrors(), Core.Exceptions.ValidationException.
- Views/ -> Pages/: IViewEndpoint co-located with its .tsx component.
- Module impl csproj Microsoft.NET.Sdk.Razor -> Microsoft.NET.Sdk.StaticWebAssets,
  with SimpleModule.Database referenced only when the module owns a DbContext.
- IModule hooks (ConfigureFeatureFlags/Agents/RateLimits/Host, CheckHealthAsync),
  settings builder .Add(), full SettingType enum, sealed IModulePermissions.

CLAUDE.md "Adding a New Module":
- SimpleModule.<Name>[.Contracts|.Tests] project naming, StaticWebAssets SDK,
  Endpoints/Pages feature dirs, Wolverine IMessageBus in the Core description.

Accuracy fixes from self-review:
- Correct framework/ directory list (drop non-existent DevTools/Agents/AI/Rag).
- Pages feature subfolder is optional; import paths must match file location to
  avoid silent client-side 404s.
- CA1812 is suppressed per-directory (Endpoints/, Pages/*Endpoint.cs), not global.
- Show the DbContext ProjectReference as conditional.
@antosubash antosubash enabled auto-merge (squash) June 8, 2026 15:09
@antosubash antosubash merged commit 658bf87 into main Jun 8, 2026
5 checks passed
@antosubash antosubash deleted the docs/sync-skill-docs branch June 8, 2026 15:13
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.

1 participant