Primitive setup.
Configure V1 primitive settings once, copy a single init command, and keep installing with wensity add. No account, no cloud preset store, and no Wensity runtime lock-in.
Preset commands require wensity 0.1.6 or later. Use a pinned CLI for preset init, for example npx wensity@0.1.6.
Preset generator
Pick supported settings below. Invalid colors or custom font stacks show an inline error and never produce a command — the website uses the same @wensity/preset encoder the CLI will reject.
Loading preset controls…
What this configures
Tabler or Lucide for UI primitives. Transform happens at CLI install time. Phosphor/Hugeicons are deferred.
None, Small, Medium, or Large — writes --primitive-radius only (Small 0.5rem, Medium 0.875rem, Large 1.25rem).
Built-in IDs for sans, display, and mono. Optional advanced custom stacks use the shared grammar (no CSS breakouts).
Light and dark solid / hover / active / foreground roles only.
After you init
- Run the generated
npx wensity@0.1.6 init --preset <wsty1-code>command in your project root. - Inspect
wensity.json(version,style) and the delimited--primitive-*block in your Tailwind CSS file. - Run
npx wensity add <primitive>. Future adds reuse stored colors, radius, fonts, and Tabler/Lucide choice. - Installed source is editable open-code — no
@wensity/uiruntime, no provider, no lock-in. - Share the page with
?preset=to reopen the same validated settings. Nothing is stored on a server.
Project states
| State | Behavior |
|---|---|
| Clean project | Init writes config + style + CSS. Then add primitives as usual. |
| Existing Wensity project | init --preset merges style and upserts CSS. Installed component source stays untouched. |
| Legacy config (no style) | Adds still work with Tabler/medium defaults. Init with preset upgrades style in place. |
Plain init when config exists | Refuses without --force. Preset merge does not need --force. |
| After changing icon library | Use wensity update <slug> to rewrite existing primitive source. Init never silent-rewrites installed files. |
Scope
These settings apply to UI primitives under /primitives. They do not customize premium /components. shadcn registry mirrors remain Tabler-canonical; use the Wensity CLI when you need Lucide delivery. Invalid or unsupported preset codes fail with an actionable CLI error — regenerate here instead of hand-editing.
CLI vs shadcn
| Wensity CLI | Public shadcn (@wensity/*) | |
|---|---|---|
| Stored presets | Yes | No |
| Lucide | Yes | No (Tabler only) |
| Editable source | Yes | Yes |
| Runtime lock-in | None | None |