OOratiq

CLI

Every command and flag in @oratiq-js/ui.

init

Sets a project up: components.json, the token layer, cn(), and the Providers wrapper. Zero prompts — it detects your layout and prints what it chose.

$ npx @oratiq-js/ui init
PropTypeDefaultDescription
--ui <dir>stringcomponents/ui (or src/…)Where components are written.
--lib <dir>stringlib (or src/lib)Where cn() is written.
--css <path>stringdetected globals.cssYour Tailwind CSS file. If it exists, the token layer is written beside it as oratiq-theme.css.
--registry <url>stringhttps://ui.oratiq.com/rRegistry to fetch from — point it at a fork to self-host.

add

Copies components into your project. Transitive registry dependencies come along automatically — dialog brings its popover, spinner, and utils.

$ npx @oratiq-js/ui add button dialog field
$ npx @oratiq-js/ui add --all
PropTypeDefaultDescription
--allbooleanfalseCopies every component in the registry.
--overwritebooleanfalseReplaces files that already exist. Without it, your edited files are always skipped.

Updating a component

Re-run with --overwrite, then review with git diff. Updates are always explicit — the CLI never touches your files behind your back.

list

Everything available in the registry.

$ npx @oratiq-js/ui list

Configuration

components.json in your project root — written by init, read by add.

{
  "tailwind": { "css": "app/globals.css" },
  "aliases": {
    "ui": "components/ui",
    "lib": "lib",
    "components": "components"
  },
  "registry": "https://ui.oratiq.com/r"
}

The ORATIQ_REGISTRY environment variable overrides the default registry for init — useful in CI and for testing a staging registry.

Non-interactive / CI

$ npx @oratiq-js/ui init --registry https://ui.oratiq.com/r

Every command runs without a TTY. Agents and pipelines get the same behaviour a developer does.