-
-
Support Matrix
-
- Search by CLI/provider and filter by support surface.
-
-
-
-
-
+
+ Release visibility for target, provider, and support rollouts.
+
+
+
setQuery(event.target.value)}
- placeholder="Search by command, provider, or note"
- className="pl-8"
+ placeholder="Search support matrix"
+ className="pl-8 h-9"
/>
-
-
-
- Scope:
-
- {SCOPE_FILTERS.map((filter) => (
- setScope(filter.id)}
- >
- {filter.label}
-
- ))}
- {filteredEntries.length} entries
-
-
- {filteredEntries.length === 0 ? (
-
-
- No support entries match this filter.
-
-
- ) : (
-
- {filteredEntries.map((entry) => (
-
+
+
+ {SUPPORT_NOTICES.map((notice) => (
+ setSelectedNoticeId(notice.id)}
+ />
))}
- )}
-
+
-
-
- Maintainer Notes
-
- Keep update messaging in one place for future CLI expansions.
-
-
-
-
- Edit{' '}
-
- ui/src/lib/support-updates-catalog.ts
- {' '}
- to add new notices or support entries.
-
-
- Home spotlight and this page consume the same catalog, so announcements stay consistent
- without repeated UI edits.
-
-
-
+
+
+
+ {SUPPORT_NOTICES.length} notice{SUPPORT_NOTICES.length !== 1 ? 's' : ''}
+
+
+ {CLI_SUPPORT_ENTRIES.length} support entr
+ {CLI_SUPPORT_ENTRIES.length !== 1 ? 'ies' : 'y'}
+
+
+
+
+
+
+ {selectedNotice && (
+
+
+
+
{selectedNotice.title}
+
{selectedNotice.summary}
+
+
+
+
+
+
+ Published {formatCatalogDate(selectedNotice.publishedAt)}
+
+
+
+ {selectedNotice.highlights.map((highlight) => (
+ - {highlight}
+ ))}
+
+
+
+ {selectedNotice.routes.map((route) => (
+
+ {route.label}
+
+ ))}
+
+
+
+ {selectedNotice.commands.map((command) => (
+
+ {command}
+
+ ))}
+
+
+ )}
+
+
+
+
+
+ Support Matrix
+
+ Filter by support area. Internal scroll keeps the page frame stable.
+
+
+
+
+
+
+
+
+ Scope:
+
+ {SCOPE_FILTERS.map((filter) => (
+ setScope(filter.id)}
+ >
+ {filter.label}
+
+ ))}
+
+ {filteredEntries.length} match
+
+
+
+
+
+ {filteredEntries.length === 0 ? (
+
+ No support entries match this filter.
+
+ ) : (
+
+ {filteredEntries.map((entry) => (
+
+ ))}
+
+ )}
+
+
+
+
+
+
+
+
+ Config Contract
+
+ Every new CLI integration follows the same three configuration pillars.
+
+
+
+
+
+
+
+ {CORE_CONTRACT.map((item) => (
+
+
+ {item.title}
+
+
{item.detail}
+
+ ))}
+
+
+
+
+ Coverage by Scope
+
+
+ {scopeStats.map((stat) => (
+
+ {stat.label}
+
+ {stat.count}
+
+
+ ))}
+
+
+
+
+ Update source of truth:{' '}
+
+ ui/src/lib/support-updates-catalog.ts
+
+
+
+
+
+
+
+
+
);
}