kosmesis
Changelog for kosmesis.
0.4.0
kosmesis initnow prompts for an icon library (Lucide, backed by@morphos/icons' built-inLucideSourceprovider, orNone), stores the choice asiconLibraryincomponents.json, installs@morphos/icons/lucidewhen Lucide is selected, and wires@IconProvider(LucideSource)onto the project's root component — the same "ensure" pattern already used for@Themed(...).- Every registry component that previously rendered an emoji or a hand-picked Unicode glyph as a
pseudo-icon now renders a real
<Icon>from@morphos/iconsinstead, in both style systems.
0.3.2
kosmesis initnow wires thevirtual:praxisjs/styles.cssimport into@praxisjs/cssprojects: it addsimport "virtual:praxisjs/styles.css";to the entry file (src/main.tsx) after wiringpraxisjsCSS()intovite.config.ts, and declares the module insrc/vite-env.d.tsso TypeScript doesn't error on it. Previously this step was missing, so the CSS the Vite plugin extracts at build time never reached the production bundle.
0.3.1
- Bumped
tsdownto0.22.4, resolving a peer dependency mismatch withtypescript.
0.3.0
kosmesis initnow asks before touching pre-existing file content instead of silently keeping or discarding it:- If your global CSS file or
@praxisjs/csstheme module already has content, you're asked whether to erase it before Kosmesis adds its tokens. - For
@praxisjs/cssprojects, the create-praxisjs template's default stylesheet (a separate file from the theme module) gets the same treatment, since it's otherwise never touched. - For
@praxisjs/cssprojects,initalso asks for your root component's path and automatically wires@Themed(KosmesisTokens, LightTheme, { persist: true, syncTabs: true })above@Component()— previously this was left as a manual note.
- If your global CSS file or
0.2.0
- Added a named-registry system:
kosmesis registry add|remove|listmanages aregistriesmap incomponents.json, andkosmesis add @<namespace>/<component>resolves a component from its namespace's registry instead of the project default. - Added
kosmesis registry initandkosmesis registry buildto scaffold and build a custom registry — no more hand-writing aregistry.json-to-inlined-JSON build script. See Custom Registry. - Registry entries can now declare
devDependenciesalongsidedependencies—kosmesis addinstalls each group separately, withdevDependenciesgetting the package manager's-D/--save-devflag.
0.1.2
- Removed the unnecessary
baseUrlassignment fromensureTsconfigAlias. This avoids the deprecatedbaseUrlcompiler option, which is scheduled to stop working in TypeScript 7.0, while preserving the generated path alias configuration.
0.1.1
kosmesis initandkosmesis addnow install missing runtime dependencies automatically with the detected package manager. If the install fails, the CLI still prints the command to run manually.
0.1.0
Initial release.
kosmesis init— writescomponents.json, prompts once for a style system (Tailwind CSS or@praxisjs/css), wires theme tokens and the matching Vite plugin into the project, adds the@/*import alias, and (Tailwind only) writes thecn()helper.kosmesis add <component...>— resolves a component'sregistryDependenciesclosure in dependency-first order, writes every file intosrc/components/ui/, and reports any missing runtime dependencies.- A registry of 65 components ported from shadcn/ui, each shipped in two independent style
systems with an identical public prop API — Tailwind CSS +
class-variance-authority, and@praxisjs/css— built on Morphos instead of Radix UI.