Class SerenityHubToolCatalog
The single source of truth for every catalog-driven Hub view (Create, Validate, Browse, Advanced) and for
search. Every entry mirrors a real [MenuItem("Tools/Serenity/...")] declaration in the project except
the entries excluded below — coverage is verified mechanically by
SerenityCatalogStalenessValidator, not by a hardcoded count here.
Excluded by product/structural decision, not drift: Tools/Serenity/Export Package (Asset
Store) and Tools/Serenity/Refresh Upgrade Artifacts (dev-only, being de-shipped separately), and
Tools/Serenity/Hub itself (would create a recursive self-launch card). The
isValidateFunction: true overload on ClassVirtualizer.cs's menu item collapses into the same
entry as its non-validate sibling (Serenity.Localization.Installation.Settings.Editor.Hub.Catalog.SerenityHubToolCatalog.BuildCreateEntries, "Make Class Subclass-Friendly") —
counted once, not twice.
Tools/Serenity/Install Required Unity Packages and
Tools/Serenity/Installation/Validate Installation are catalogued under
Validate as open-tool cards (ValidatorKind = null): Home's status
rows already deep-link into them, and neither fits the report+cache model (Install Packages mutates like
Migration; Validate Installation has no RunAll-reachable report engine).
The four "(JSON)" menu items (Validate/Project (JSON), Validate/Migration/Migrate to 1.3.0
(JSON), Create/UI/Theme Builder (JSON), Create/Services/Service Extension Creator (JSON))
are headless CI duplicates of an already-catalogued GUI tool, so they live under
Advanced instead of their GUI sibling's category — the same treatment the
design gives Validate/Project (JSON) as a "power-user duplicate".
Tools/Serenity/Validate/Find FoundationSettings... is catalogued under
Browse (product decision, UX feedback batch 9), NOT
Validate where its own menu path lives — it is a lookup/search tool with no
pass/fail concept, not a validator. This supersedes the original spec §5.2 open-tool-card placement; the
menu path itself is unchanged since it still lives under the real Tools/Serenity/Validate/... menu.
Inherited Members
Namespace: Serenity.Localization.Installation.Settings.Editor.Hub.Catalog
Assembly: Serenity.UnityLocalization.Installation.Editor.dll
Syntax
public static class SerenityHubToolCatalog
Properties
Entries
Declaration
public static IReadOnlyList<SerenityHubToolEntry> Entries { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<SerenityHubToolEntry> |