Source Installer
operator-ds does two jobs. This page covers the first: copying source into a project. The second is serving agents: init, search, component and mcp are on Set Up an Agent, and check is on Check and Measure.
operator-ds copies source from the registry that ships beside it
(dist/registry.json) without a network connection. Install dependencies
separately.
Run the CLI
From a built repository:
pnpm build
node packages/cli/dist/bin.js list
To test a packed release in another project, install its tarball and invoke the executable through your package manager:
pnpm add -D /path/to/operator-ds-cli-VERSION.tgz
pnpm exec operator-ds list
Once the package is on npm, pnpm dlx @operator-ds/cli list runs it without installing.
Preview and copy source
Run from the destination project root. Names accept PascalCase or kebab-case.
Use list to inspect the bundled components and recipes.
pnpm exec operator-ds list --json
pnpm exec operator-ds add button dialog --out src/operator --dry-run
pnpm exec operator-ds add button dialog --out src/operator
pnpm exec operator-ds add operations-map asset-management --out src/operator
The default destination is src/components/operator. Files retain their folder
structure, required local helpers and component dependencies. Copied TSX includes
a React client boundary.
Recipes preserve their relative helper imports and their @operator-ds/react
package imports. Copying a recipe does not redirect it to a separately copied
core component; change those imports explicitly if you want that relationship.
Existing files and dependencies
Identical files are reused. Changed files require --overwrite; inspect a dry
run before replacing customized source.
Output paths must remain inside the current project. Absolute paths, traversal, and symbolic-link destinations are rejected. A dry run creates no directories or files.
The CLI prints the packages required by the selected sources, each with the
version range the sources were verified against. Packages that the copied source
imports only for their types, such as @operator-ds/manifest, are listed
separately as dev dependencies. Install them in your project, import
@operator-ds/tokens at your application root, register the Tailwind plugin,
and include the copied source directory in Tailwind's content paths. The six
recipes import only @operator-ds/react, react and, for the two map recipes,
ol. The C2 and industrial icon packages and the operational token CSS are
optional additions for your own screens, not recipe requirements.
The installer does not modify your package manifest, install dependencies, or rewrite your Tailwind configuration. See the repository README for the complete consumer setup and use the printed import paths for the copied components.
TypeScript setup
Copied sources use bundler module resolution and the React JSX transform. Match
the repository with strict: true, exactOptionalPropertyTypes: true, and
skipLibCheck: true. The last option skips third-party declaration checking;
React Aria 1.20 currently has declaration conflicts under exact optional property
types. Your copied application source remains typechecked. The release consumer
check separately validates OPERATOR’s packaged declarations with library checking
enabled.