✨ Working with PDFs, images or videos? Discover 145+ free web apps built for everyday tasks

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

Icon library

Tabler or Lucide for UI primitives. Transform happens at CLI install time. Phosphor/Hugeicons are deferred.

Radius

None, Small, Medium, or Large — writes --primitive-radius only (Small 0.5rem, Medium 0.875rem, Large 1.25rem).

Fonts

Built-in IDs for sans, display, and mono. Optional advanced custom stacks use the shared grammar (no CSS breakouts).

Control-solid colors

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/ui runtime, no provider, no lock-in.
  • Share the page with ?preset= to reopen the same validated settings. Nothing is stored on a server.

Project states

StateBehavior
Clean projectInit writes config + style + CSS. Then add primitives as usual.
Existing Wensity projectinit --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 existsRefuses without --force. Preset merge does not need --force.
After changing icon libraryUse wensity update <slug> to rewrite existing primitive source. Init never silent-rewrites installed files.

Scope

Primitives only

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 CLIPublic shadcn (@wensity/*)
Stored presetsYesNo
LucideYesNo (Tabler only)
Editable sourceYesYes
Runtime lock-inNoneNone