Skip to content
ilinxa/pro-ui

Developer documentation

Install components from the ilinxa registry.

ilinxa pro-ui ships as a shadcn-registry: source files copy into your repo on install, you own the code. No npm package, no version pinning, no abstraction tax — re-run the install with --overwrite to pull upstream changes.

Prerequisites

Your project must already have shadcn initialized. This seeds the cn helper at lib/utils.ts and the components.json config that the CLI reads.

pnpm dlx shadcn@latest init

Skip this step if you’ve already used any shadcn component in the project.

One-time setup

Add the @ilinxa namespace to your project’s components.json (merge with your existing config):

"registries": {
  "@ilinxa": "https://ui.ilinxa.com/r/{name}.json"
}

The {name} placeholder is mandatory — the CLI rejects registries without it.

Install your first component

# Lean install — component source only
pnpm dlx shadcn@latest add @ilinxa/properties-form

# Or with dummy-data fixtures
pnpm dlx shadcn@latest add @ilinxa/properties-form-fixtures

The CLI auto-installs shadcn primitives the component depends on (e.g. button, input, tooltip) and npm peer deps (lucide-react, @codemirror/*, @dnd-kit/*, etc.). Files land at components/<slug>/<sub-path> with the sealed folder intact — under src/ if your project uses a src/ directory. A custom aliases.components doesn't relocate them; imports are rewritten to your aliases either way, so the install compiles as-is.

Use it in your code:

import { PropertiesForm } from "@/components/properties-form";

export function TaskEditor() {
  return (
    <PropertiesForm
      schema={taskSchema}
      values={task}
      onSubmit={async (next) => { /* persist */ }}
    />
  );
}

Available components

Update an installed component

shadcn-registry copies source verbatim — you own the code. To pull upstream changes:

pnpm dlx shadcn@latest add @ilinxa/<slug> --overwrite

Use --dry-run first to preview what would change, then merge any local modifications and ship.

Compatibility

  • Next.js14 / 15 / 16 — App Router & Pages Router
  • React 19 (or 18 with graceful primitive variants)
  • Tailwind CSS v4 — CSS variables only, no tailwind.config.*
  • Package managers pnpm / bun / yarn — npm + React 19 needs --legacy-peer-deps

Troubleshooting

Cannot find module "@/lib/utils"

Run `pnpm dlx shadcn@latest init` in the consumer project. `shadcn add` doesn't seed the `cn` helper — `init` does.

Re-running add didn't pull upstream changes

Without --overwrite, locally-modified files are skipped — non-interactive runs auto-answer the overwrite prompt with 'no' and exit 0, so exit-code checks can't detect it. Add --overwrite to update; the CLI diffs per file, so unchanged files are left alone.

npm ERESOLVE on React 19 peer deps

Use `--legacy-peer-deps`, or switch to pnpm/bun which resolve cleanly.

Stale install after upstream registry update

The CLI doesn't cache; the CDN does. Wait out the 5-minute TTL or append ?v=<hash> to the registry URL once.

AI / LLM access

A concise, structured reference for AI agents (Claude Code, Cursor, GitHub Copilot, etc.) is available at:

https://ui.ilinxa.com/llms.txt

Point your AI assistant at this URL when working on a project that consumes the registry. It contains install steps, the full component list, common gotchas, and the namespace setup snippet — everything an AI needs to install components correctly without guessing.

Open llms.txt →

Contributing

Building or modifying components? Two reads:

  • README → project setup, registry-build pipeline, scripts, design system
  • Component guide → anatomy, rules, lifecycle, worked end-to-end example