hiip/ui

Intro

Installation

@hiip is a private shadcn registry. Every item installs through the ordinary shadcn CLI — as source, into your repo — but the registry answers 401 until it sees a token. Four steps, once per project.

1Get your token

There is no self-serve page. Tokens are handed out by a person, one per team.

Email phuong.phung@hiip.asia and you will get one back. Treat it like any other credential: it is not scoped to a single item, so anyone holding it can read the whole registry.

Request a token

2Register @hiip

There is no global directory of shadcn namespaces. @hiip resolves only against your own components.json — without this block the CLI stops at "Unknown registry".

components.json
{
  "registries": {
    "@hiip": {
      "url": "https://ui.hiip.ai/r/{name}.json",
      "headers": { "Authorization": "Bearer ${HIIP_REGISTRY_TOKEN}" }
    }
  }
}

{name} is the CLI's own placeholder, substituted per item — leave it literal. The ${HIIP_REGISTRY_TOKEN} is expanded from your environment at install time, so the file itself stays safe to commit.

3Set your token

The CLI reads it out of the environment. Either put it in an env file next to components.json, or export it for the session.

.env.local
HIIP_REGISTRY_TOKEN=your-token-here
shell
export HIIP_REGISTRY_TOKEN=your-token-here
bunx shadcn@latest add @hiip/bubble

Add the env file to your .gitignore if it is not there already.

4Install a component

Install hiip-theme first. Every other item is styled against its tokens — install one without it and you get the right markup in the wrong colours, with no error anywhere.

The token set — start here

bunx shadcn@latest add @hiip/hiip-theme

Then any component

bunx shadcn@latest add @hiip/bubble

A bare URL works too, and reads no config at all — which is why its token has to travel in the query string. Handy for a one-off; prefer step 2 for anything repeated, since this form lands in your shell history.

shell
bunx shadcn@latest add "https://ui.hiip.ai/r/bubble.json?token=$HIIP_REGISTRY_TOKEN"

Manual install

The payload is plain JSON: every file's full source, its target path, and the npm packages it needs. Fetch it and copy the files in by hand if you would rather not run the CLI.

shell
curl -H "Authorization: Bearer $HIIP_REGISTRY_TOKEN" \
  https://ui.hiip.ai/r/bubble.json

When it does not work

401
The token was missing or wrong. The likeliest cause is not a bad token but an unset one: a ${VAR} that resolves to nothing drops the whole header rather than sending Bearer with an empty value — so a forgotten env var reads to the server as an anonymous request, not a malformed one. Check the variable is exported in the shell that runs the CLI.
404
Authorised, but there is no such item. The full list is /r/registry.json.
503
The registry itself has no token configured — that is our problem, not yours. Tell phuong.phung@hiip.asia.
Unknown registry
Step 2 is missing or malformed. The CLI only knows @hiip from your own components.json.