You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Expose theme contributions through the public extension API with the existing terminal theme system as the first working consumer. Do not rebuild the shipped JSON theme loader or hot reload.
Current repository evidence
packages/tui/src/custom-themes.ts already validates bounded theme files, color roles, identifiers, and project/global catalogs. packages/extensions/api/src/index.ts has capability-scoped terminal registrations and disposers but no registerTheme surface. ROADMAP Phase 6 calls for that surface only with a real consumer.
Acceptance criteria
Add the minimal public registerTheme contract and declared UI capability required to contribute a validated theme to the existing TUI catalog.
Reuse current theme data validation, bounds, project/global rules, and protected built-in identifiers instead of inventing a second format.
Make a working first-party theme contribution use the same public registration path available to third parties, with no private daemon or kernel imports.
Return an idempotent disposer; disable, reload, rollback, and exit remove extension-owned theme entries and report selection changes or invalid replacements explicitly.
Keep visual preferences client-local, without model prompt content, canonical session mutations, executable theme payloads, or a mandatory cross-client theme registry.
Test capability denial, invalid data, naming conflicts, live contribution removal, reactivation, and reuse of existing user themes.
Verification
Extend the public terminal-extension and custom-theme fixtures, and verify an installed first-party consumer. The source was inspected during this audit; product tests were not run.
Coordination
Use existing presentation ownership. Web-specific theme support should add only its concrete data/rendering needs when that client exists. Runtime registration and cross-client panels remain separate issues.
Source
ROADMAP.md Phase 6, Remaining runtime and cross-client surface, and Resource formats.
Repository audit
Audited against Axl 88944a2. Phase 6. Source inspection, not an executed behavior test. Roadmap references: L1897, L1907.
Outcome
Expose theme contributions through the public extension API with the existing terminal theme system as the first working consumer. Do not rebuild the shipped JSON theme loader or hot reload.
Current repository evidence
packages/tui/src/custom-themes.tsalready validates bounded theme files, color roles, identifiers, and project/global catalogs.packages/extensions/api/src/index.tshas capability-scoped terminal registrations and disposers but noregisterThemesurface. ROADMAP Phase 6 calls for that surface only with a real consumer.Acceptance criteria
registerThemecontract and declared UI capability required to contribute a validated theme to the existing TUI catalog.Verification
Extend the public terminal-extension and custom-theme fixtures, and verify an installed first-party consumer. The source was inspected during this audit; product tests were not run.
Coordination
Use existing presentation ownership. Web-specific theme support should add only its concrete data/rendering needs when that client exists. Runtime registration and cross-client panels remain separate issues.
Source
ROADMAP.md Phase 6, Remaining runtime and cross-client surface, and Resource formats.
Repository audit
Audited against Axl
88944a2. Phase 6. Source inspection, not an executed behavior test. Roadmap references: L1897, L1907.Tracking key:
axl-backlog:audit.extension-theme-registration.Issue tracking
Axl issue mirror: #377 | GitHub #377
Related issues: