Docs / Contributing

Contributing

Add a part without breaking the mold.

The mold is the application form

A contribution to KATA is a part cast from the same mold as every other part. There is no separate review aesthetic: if the part passes the checker and follows the written standard, it belongs. The standard is KATA.md in the repository and the checker is check.py; both are public, so a part can be finished — really finished — before a maintainer ever sees it.

Parts that fail the checker do not ship. That is not gatekeeping; it is the product.

Start from the template

Every part is a folder: meta.json, preview.html, the part CSS, and JS only when the part moves. Copy the template folder, name it, and build inside it:

cp -r template/ components/my-part
python3 check.py

The preview is the documentation: if the preview cannot show the part honestly, the part is not ready.

What the checker reads

Tokens only — no raw color anywhere, because a hard-coded hex is a part that will not survive a theme. Every class in the preview defined. Icons on the 24 grid, stroke 1.7, three shapes only. All states finished: hover, active, focus-visible, disabled, empty, overflow. Motion between 130 and 220ms with no bounce, and a prefers-reduced-motion answer for anything that moves. The vermillion core appears only where it already lives; a new part does not invent a new place for it.

The full standard, including the fine-detail rules, is section 0.6 of KATA.md.

Then open the pull request

Describe the job the part does and the screens it serves. The issue and pull request templates ask the mold questions up front — tokens, states, motion — so review starts from answers instead of questions. One part per pull request keeps the casting inspectable.

A part that needs a new token starts as a token proposal in an issue: tokens change the mold, not just the part.

More docs

Introduction · Getting Started · CLI · Theming · Dark Mode · Accessibility · Installation · Plain HTML · Astro · Laravel · React & Next.js · JavaScript · Guide: Building a Dashboard · Guide: Building a Settings Page · Guide: Building a Pricing Page · Guide: Sign-in & Account Pages · Guide: Forms, For Real · Guide: Data Tables That Survive Real Data · AI Prompts · Why Vanilla · The Mold · Anatomy of a Part · Coming from Tailwind · KATA vs shadcn/ui · FAQ · Registry · Forms · MCP Server · RTL · Changelog

    Highlight a part to see it live.