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| Prop | Type | Default | Description |
|---|---|---|---|
--ui <dir> | string | components/ui (or src/…) | Where components are written. |
--lib <dir> | string | lib (or src/lib) | Where cn() is written. |
--css <path> | string | detected globals.css | Your Tailwind CSS file. If it exists, the token layer is written beside it as oratiq-theme.css. |
--registry <url> | string | https://ui.oratiq.com/r | Registry 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| Prop | Type | Default | Description |
|---|---|---|---|
--all | boolean | false | Copies every component in the registry. |
--overwrite | boolean | false | Replaces 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 listConfiguration
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/rEvery command runs without a TTY. Agents and pipelines get the same behaviour a developer does.