support-hot-reload

Installation
SKILL.md

Support hot reload

Decide whether a feature needs hot-reload work, and if so, make it correct: when a developer edits source in a running app, any process-wide state the feature derived from the old metadata must be invalidated so the edit takes effect without a restart. Getting this wrong is silent — the app keeps running with stale cached metadata, and the edit only appears after a manual restart, so it is easy to ship a feature that quietly does not hot-reload.

Does this feature need hot-reload work?

A feature needs hot-reload handling when it holds process-wide state derived from type or member metadata that a source edit can change. Ask, in order:

  1. Does it keep a static (or singleton) cache keyed by Type, MethodInfo, PropertyInfo, or an assembly — holding reflection results, compiled getters/setters/factories, attribute lookups, a route/endpoint table, or model metadata?
  2. Is that cache populated once and reused for the life of the process?
  3. Would a plausible source edit change what the cache should contain — adding or changing a member, controller action, endpoint, route, model property, validation attribute, component parameter, render mode, or invokable method?

If all three are yes, the feature needs hot-reload handling: the cache must be invalidated on a metadata delta, and any derived runtime structure (a rendered tree, a route/endpoint table, a change token) must be refreshed. If the feature only reads metadata on demand without caching, or its state is per-request, it usually needs nothing.

The trap is a cache added for performance with no hot-reload wiring. It works in every test that starts fresh and only fails when someone edits the relevant declaration live — see references/detection.md for the full signal list and how to audit a change for a missing invalidation.

Adding hot-reload support

Use the runtime metadata-update handler by default. Reuse an existing subsystem refresh mechanism when the owning subsystem already centralizes Hot Reload notifications and derived-state refresh.

Installs
1
GitHub Stars
38.4K
First Seen
4 days ago
support-hot-reload — dotnet/aspnetcore