Skip to content

add(library): usva. - #681

Closed
matt-pasek wants to merge 2 commits into
aniftyco:masterfrom
matt-pasek:patch-1
Closed

add(library): usva.#681
matt-pasek wants to merge 2 commits into
aniftyco:masterfrom
matt-pasek:patch-1

Conversation

@matt-pasek

Copy link
Copy Markdown
Name Link
usva. https://usva.build

Design language and component library in three themes: atmospheric, dense, or light, from one token vocabulary. The tokens ship as a Tailwind v4 @theme block. It works as registry copy-in, so a Tailwind user can take one component without adopting the whole component library.


  • This pull request was written by a human, not an LLM or AI assistant. I have personally used or evaluated this resource and can explain why it belongs on the list.
  • I have read and followed the contribution guidelines
  • My item is in the right category
  • My item is logically grouped below similar items
  • My item's name and description respects the conventions of the list
  • My item is awesome, and I really mean it
  • My item is not a paid product, and is not a lead magnet for a paid product
  • My item is in line with the Tailwind brand usage guidelines

@dunnbot dunnbot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the thorough writeup — the design work here is clearly considered, and I verified the tokens do ship as a Tailwind CSS v4 @theme block, which is the thing I care most about for this list.

A few items to resolve before it can go in:

  1. usva isn't on npm yet. The registry 404s for usva; only usva-tokens is published. Your own docs flag the npm path as pending until the package is live. I'd rather list this once the install path most people will use actually works.

  2. License. LICENSE.md is MIT + Commons Clause, which makes this source-available rather than open source — the list requires items to be free and open to use. Free to use inside an application it plainly is, and the restriction is only on reselling the components themselves, so I don't think this is clear-cut. I want to be deliberate about where Commons Clause lands before it becomes precedent here. Happy to hear your reasoning.

  3. 📚🧩 isn't a combination the list uses. In that section only 💙 pairs with a type emoji; every other entry carries exactly one of 📚 / 🧩 / 📁. Pick whichever fits better and place the entry at the bottom of that emoji group.

  4. Drop the trailing period from the link text. [usva.] would be the only entry in the list with punctuation inside the name, and it reads awkwardly against the required [Item name](link) - Description. shape. I understand it's the brand styling, but the list format wins here.

  5. components librarycomponent library, and consider naming React in the description. As written, someone scanning the list can't tell what they'd be installing — the guide's own example is "React UI library using Tailwind CSS."

Push those up and ping me once the package is live, and I'll take another look.

@dunnbot

dunnbot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Heads up: #682 just merged into the same spot in the 📚 group, so this now conflicts. You'll need a rebase on master along with the changes above — sorry for the extra step.

@matt-pasek

matt-pasek commented Jul 30, 2026

Copy link
Copy Markdown
Author

@dunnbot
fixed the stuff: dropped 🧩 and trailing period, "component library" with react named.

on the license - usva is free to use anywhere, commercially included, and you can fork it or copy a component's source out of the registry and own it outright. the only thing not allowed is reselling the components themselves as the product. it's not OSI-open, but the section already lists tailwind plus and catalyst, so free-to-use looks like the working bar.

package is live on npm as well (as @usva-ui/react and @usva-ui/tokens)

@matt-pasek
matt-pasek requested a review from dunnbot July 30, 2026 23:09
@dunnbot

dunnbot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Thanks for turning those around quickly — the emoji, the trailing period, the grammar and the React naming are all correct now, and I confirmed @usva-ui/react and @usva-ui/tokens are live on the registry. That part of the review is fully satisfied.

On the license, I'm going to decline, and I want to give you the honest reasoning rather than a one-liner.

Tailwind Plus and Catalyst aren't precedent. Those are Tailwind Labs' own resources. They're on the list under the 💙 marker as official resources, and they're there out of respect for the team that builds and gives away Tailwind CSS itself. That's a deliberate carve-out for the people whose work this entire list exists to catalogue, and it doesn't extend outward to third-party projects. They're the two entries you'd least be able to reason from.

Auditing the rest of that section against the same bar turned up two entries of my own that fail it. Preline carries a non-compete rider on top of MIT, and Kometa's license strikes the sublicensing and resale rights. That's an inconsistency on my side rather than a standard anyone gets to inherit, so I'm opening a PR to remove them. The bar gets applied evenly, not just against the newest submission.

The bar going forward: for third-party items, an OSI-approved open source license. Commons Clause is explicitly not one — it's the canonical example of a source-available rider, and your own commit history calls it that. "Free to use in an app" isn't the same as "free and open to use," and I'd rather this list mean one specific thing than shade toward "free enough."

None of this is a judgment on the work. The design system is genuinely thoughtful, the token architecture is real, and the Tailwind CSS v4 @theme integration is exactly the kind of thing I want here. If you ever drop the Commons Clause rider and ship under plain MIT, reopen this and I'll merge it without further review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants