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:
- An installable source:
- Component:
registry/new-york/ui/<id>.tsx - Block:
registry/new-york/blocks/<category>/<id>.tsx
- Component:
- One executable demo that is also the displayed usage source:
- Component:
components/demo/<id>-demo.tsx - Block:
components/demo/blocks/<category>/<id>-demo.tsx
- Component:
- One
registry.jsonentry containing title, description, dependencies, and categories:- Component:
["component"] - Block:
["block", "<category>"]
- Component:
- One unavoidable static import in
componentDemosorblockDemos, 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.