- Status: ACCEPTED
- Date: 2026-05-16
- Supersedes: Roadmap Phase 4-6 ordering in ROADMAP.md
The original roadmap had this Phase order:
- Phase 4 (v0.18.x): Hub Foundation — public registry, search, snapshots
- Phase 5 (v0.19.x): Platform Maturity — scoped registries, Edge
- Phase 6 (v1.0): General-Purpose Engine — zero-config SSR/SSG for any WC
This ordering has a dependency problem: the Hub's core value proposition is "SSR/SSG snapshot previews" of WC packages. But without a universal rendering engine, the Hub cannot render previews of third-party packages. The Hub depends on the engine, not the other way around.
Additionally, the Hub was originally planned as a separate repository. This creates unnecessary friction during early development: shared types require JSR publishes to sync, CI is duplicated, and dogfooding is weaker.
New order:
- Phase 4 (v0.18.x): Universal WC Engine — CEM parser, third-party SSR fallback
- Phase 5 (v0.19.x): Platform + Hub — public registry, search, snapshots, Edge
- Phase 6 (v1.0): General-Purpose Engine + API freeze
Rationale: The engine is the foundation. The Hub is the building on top. You can't build snapshot previews without a rendering engine.
The Hub lives in packages/hub/ within the LessJS monorepo until one of
these conditions is met:
- Hub has independent deployment rhythm (3x/day vs 1x/week for framework)
- Hub has a dedicated team maintaining it
- CI time becomes a real bottleneck
Rationale: Early development benefits enormously from co-location: shared types without publish lag, immediate breakage detection, single CI pipeline, zero overhead for cross-repo coordination.
v0.17.x now includes cross-runtime support (v0.17.1) and defers less add
to v0.18.x where the universal engine provides the rendering foundation.
- v0.18.x is more ambitious but also more valuable — it's the "any WC package works" milestone
- Hub development is deferred until the engine can render previews
- Monorepo gets heavier when Hub is added, but the benefit of co-location outweighs the cost at this scale
- v0.17.x scope is tighter: manifest-native + cross-runtime + SSR filtering