@coveo/create-ui
v0.3.0
Published
Scaffold a Coveo UI project (Atomic or Headless) from the official samples.
Maintainers
Readme
@coveo/create-ui
Scaffold a Coveo UI project (Atomic or Headless) from the official ui-kit samples. Every template runs with zero configuration against the sample organization — no credentials, API keys, or search tokens required.
Usage
npm create @coveo/ui@latest my-app --template headless-search-reactOr run without arguments for an interactive prompt:
npm create @coveo/ui@latestpnpm is also supported:
pnpm create @coveo/ui my-app --template headless-search-reactOptions
| Option | Description |
| ------------------------------ | ------------------------------------------------------------------------------------- |
| <project-name> | Directory to create the project in. |
| --template <id> | Template to scaffold (skips the interactive prompt). |
| --template-version <version> | Headless/Atomic library version (or npm dist-tag) to scaffold (defaults to latest). |
| -h, --help | Show usage and the list of available templates. |
Pinning a template version
Samples are versioned in lockstep with the Coveo library they build on (Headless
or Atomic), so a sample's version always matches its library's version. By
default the CLI scaffolds the latest published version. Pass
--template-version to scaffold the sample that matches a specific library
version instead:
npm create @coveo/ui@latest my-app --template headless-search-react --template-version 3.2.1The example above scaffolds the headless-search-react sample built against
Headless 3.2.1. Omitting --template-version keeps the default (latest).
Templates
Run npm create @coveo/ui --help for the current list. Templates encode the
library, use case, and framework (e.g. headless-search-react). Additional
Atomic and vanilla templates are added as their samples become scaffold-ready.
How it works
The CLI downloads the matching sample package from npm (via pacote), renames the project, and installs dependencies with the package manager you invoked it with.
Project metadata
At scaffold time the CLI writes a .coveo/create-ui.json provenance file into
the project, recording created-at facts that cannot be reconstructed later.
Only tool and version strings are recorded — no file paths, credentials, or project contents.
{
"template": "headless-search-react",
"templateVersion": "3.5.0",
"createdWith": "[email protected]",
"createdOn": "2026-07-03T13:41:00.000Z",
"dependencies": {"@coveo/headless": "4.1.0", "@coveo/atomic": "4.1.0"},
"node": "22.10.0",
"packageManager": "pnpm"
}| Field | Description |
| ----------------- | ------------------------------------------------------------------ |
| template | CLI-facing template name. |
| templateVersion | Version of the sample package the project was created from. |
| createdWith | Version of create-ui that scaffolded the project. |
| createdOn | ISO 8601 timestamp of when the project was scaffolded. |
| dependencies | Versions of the @coveo/* packages, as declared at scaffold time. |
| node | Node.js version the CLI ran on. |
| packageManager | Package manager that invoked the CLI. |
Writing the file is best-effort — if it fails, scaffolding still succeeds with a warning.
