For application developers
Packages and installation
Choose among eleven published packages by responsibility, using package-root exports rather than workspace or deep imports.Start with the smallest combination
| Need | Packages | Responsibility |
|---|---|---|
| Theme definitions, validation, import/export | @oriatheme/core | Pure TypeScript contract; no DOM or framework dependency. |
| Official themes and browser application | @oriatheme/presets + @oriatheme/runtime-dom | Complete preset catalog, runtime, persistence, and Bootstrap. |
| React / Vue | @oriatheme/react / @oriatheme/vue | Thin adapters; they do not duplicate the runtime state machine. |
| Stable base colors | @oriatheme/colors | Static color scales and base-color CSS subpaths. |
| Tailwind v4 semantic variables | @oriatheme/tailwind | Static @theme inline bridge; Tailwind is a build-time-only dependency. |
| Visible editor source | @oriatheme/cli | Copies React/Vue UI into app source; bridge packages remain headless. |
CSS subpaths
Two packages, colors and tailwind, expose public CSS subpaths. Runtime variables do not need a static OriaTheme stylesheet.
css
@import "@oriatheme/colors/styles.css";
/* Tailwind CSS v4 */
@import "tailwindcss";
@import "@oriatheme/colors/tailwind.css";
@import "@oriatheme/tailwind/oria.css";SSR and CLI boundaries
Except for the executable CLI, library package roots are safe at SSR module evaluation. Runtime start, Storage Bootstrap, the React Provider, and the Vue plugin still belong in the browser. Do not import from src, dist, or registry templates.
Continue: runtime, Bootstrap, and transitions