#3335·Archon

Open question: Web UI theming / community themes

Author: tbrandenburgCreated Sep 15, 2026Updated Sep 15, 2026

Proposed addition to direction.md under ## Open questions (no stance yet):

UI theming. The Web UI ships a single hardcoded dark theme (packages/web/src/index.css) with no extension seam — no theme registry, no user-overridable tokens, no plugin/marketplace path. Whether Archon should support theming, and at what scope, is undecided:

  • (a) Single-org branding — a user-overridable CSS-custom-property file so a self-hosted install can match brand colors. Small: no plugin contract needed, just a config-level override point.
  • (b) Community theme marketplace — shareable, installable themes distributed like provider/platform plugins. Larger: needs a declarative token registry, a marketplace listing kind, and a trust-boundary decision (plain data/tokens only, vs. arbitrary CSS/JS injection).

Unlike provider/platform/forge plugins (§community-plugins), a theme is static data, not a runtime contract — it may not need the "attach without branches in engine control flow" plugin machinery at all.

Settle before any implementation:

  1. Is demand real and does it favor (a) or (b)? No reported requests yet — possible hypothesis is that design-conscious/brand-sensitive orgs self-hosting Archon want tooling to match brand identity, but this is unconfirmed and shouldn't be assumed. Don't build (b) to solve (a).
  2. Does this jump the queue ahead of §community-plugins's stated sequencing ("forge contract goes first, followed by chat/platform and provider contracts")?
  3. Is a theme seam premature given the console/Web UI's own shape is still unsettled (§web-ui: workflow-authoring UI remains an open experiment)?
  4. If (b): what's the minimal themeable token surface (only variables with genuine demonstrated variance, per the spirit of §schema-width), and what's the trust boundary for community-submitted styling?

Cited clauses: §community-plugins, §web-ui, §schema-width (by analogy).

Ask of maintainers: decide whether this becomes a tracked open question in direction.md, gets declined outright (with a cited clause), or is folded into an existing tracked issue (e.g. #2791 standalone-core work, if theming is judged in-scope there).

cc @coleam00 @Wirasm