SlideStage Pro · lite-pro-package-boundary
Lite and Pro Package Boundary
Mirrored docs keep the language used by their source repo. Site chrome stays in your selected language.
SlideStage Lite owns the .stage runtime and shared packages. SlideStage Pro is the self-hosted team platform.
Principle: Pro consumes published Lite packages; Lite does not know Pro exists.
Why the boundary exists
Without a boundary:
.stagevalidation can drift.- Pro patches cannot flow upstream cleanly.
- Edition checks such as
isProcan leak into Lite.
The boundary keeps Lite independently deployable and keeps Pro stable.
Allowed dependencies
Pro may depend on:
@slidestage/core@slidestage/ui@slidestage/lite-preset@slidestage/brand@slidestage/spec
Use semver npm dependencies.
Forbidden patterns
Do not commit:
file:../SlideStageLite/...link:../SlideStageLite/...- Deep imports from a Lite checkout.
- Re-declared
manifestSchema. - Copied
loadDeckor path safety logic. isProorVITE_APP_EDITIONedition branches.
Local linking is fine only as temporary developer setup.
How Pro extends
Pro-only code belongs in Pro packages and apps:
packages/pro-presetpackages/pro-sharedapps/apiapps/web
Shared runtime needs should become generic Lite/Core/Spec extension points first.
.stage ownership
The format belongs to @slidestage/spec.
Pro upload and playback code should consume @slidestage/core / @slidestage/spec, not reimplement the format.
Review checklist
Before merging Pro changes, check:
- No local Lite path dependencies.
- No direct imports from
../SlideStageLite. - API code does not import React.
- Web code does not import Prisma, Hono, or Node filesystem modules.
.stagevalidation comes from shared packages.