Contributing to HextaUI

July 15, 2026 ยท View on GitHub

Use pnpm for every command. Start with pnpm install --frozen-lockfile.

Add an item

Every item has four artifacts:

  1. An installable source:
    • Component: registry/new-york/ui/<id>.tsx
    • Block: registry/new-york/blocks/<category>/<id>.tsx
  2. One executable demo that is also the displayed usage source:
    • Component: components/demo/<id>-demo.tsx
    • Block: components/demo/blocks/<category>/<id>-demo.tsx
  3. One registry.json entry containing title, description, dependencies, and categories:
    • Component: ["component"]
    • Block: ["block", "<category>"]
  4. One unavoidable static import in componentDemos or blockDemos, required by Next.js bundling.

Do not add another metadata list, copied snippet string, or generated registry JSON. registry.json is the catalog; the executable demo is the usage example.

List direct internal registry imports in registryDependencies. Use dependencies for npm packages. pnpm registry:check reports missing sources, demos, map entries, and internal dependencies.

Verify

pnpm verify
pnpm registry:build
pnpm build

Generated registry files live in public/r/ and are rebuilt by predev and prebuild; they are not tracked.

For local preview, run pnpm dev -- -p 3001 if port 3000 is occupied, then open http://localhost:3001.