Per-BC sidebar icons aggregator
Auto-generated from the source archive. Do not edit by hand — rerun
catalyst-changelog-syncinstead.
What changed
Section titled “What changed”- New file emitted per bounded context:
<bc>-icons.providers.ts, exporting<bcCamel>Icons— the deduplicated, alphabetical set oflucide*icons declared in<bc>.navigation.ts. Marked@aurora-catalyst-generated, fully overwritten on each regen. - New idempotent bootstrap mutates
nav-main.tsexactly once per BC: adds animport { <bcCamel>Icons }and a...<bcCamel>Iconsspread insideprovideIcons({...}). Existing imports and framework-chrome icons are left untouched. - The scaffold template
nav-main.tsis updated to declare only framework icons inline (lucideSquareTerminal,lucideChevronRight, …); BC-specific icons must live in the aggregator.
Why it matters
Section titled “Why it matters”Adding a NavItem with a new icon used to require a manual edit to nav-main.ts to register the icon in provideIcons. Forgetting the edit produced an empty <ng-icon> in the sidebar — a silent visual bug, no runtime error. With the aggregator owning the registration, every front-module regen keeps the sidebar in sync; consumers only edit nav-main.ts for framework chrome. When provideIcons is invoked with a non-canonical argument (e.g. a custom variable), the bootstrap logs [NAV-MAIN BOOTSTRAP SKIPPED] and emits the aggregator anyway, so manual wire-up is still possible.