TypeScript SDKs and tooling for the ShapeDiver Stargate system.
ShapeDiver is a cloud platform for building online applications based on parametric 3D files made with Rhinoceros 3D and Grasshopper.
The ShapeDiver Stargate system connects external clients to the ShapeDiver Platform backend. Typical clients include Node.js applications, Rhino plugins, Illustrator plugins, and other native or server-side integrations. Through Stargate, such clients can:
- register themselves for an authenticated user
- discover other connected frontend and backend clients
- exchange custom messages between clients
- respond to built-in Stargate workflows such as
PREPARE_MODEL,GET_DATA,BAKE_DATA, andEXPORT_FILE
This is especially useful when operations should happen inside the client's native environment, for example baking data in a CAD application or exporting files through a client-specific toolchain.
This repository currently contains:
@shapediver/sdk.stargate-sdk-v1: the main user-facing SDK for connecting to Stargate from TypeScript clients. NPM: @shapediver/sdk.stargate-sdk-v1@shapediver/sdk.stargate-sdk-core: low-level Stargate transport utilities used by the v1 SDK. Most users should use the v1 package instead of this library directly.sdk.stargate-cli: a simple CLI utility for manual testing and development workflows.
If you want to integrate with Stargate, start with the v1 package:
- Repository docs: packages/sdk.stargate-sdk-v1/README.md
- NPM package: @shapediver/sdk.stargate-sdk-v1
Install it with:
npm install @shapediver/sdk.stargate-sdk-v1The package README documents connection setup, registration, client discovery, custom messaging, built-in commands, timeouts, and error handling.
packages/: publishable packages and toolslibs/: shared internal librariesscripts/: workspace bootstrap, build, test, publish, and maintenance scripts
This project is written in TypeScript and managed as a PNPM workspace with Lerna.
The repository bootstrap scripts currently require:
- Node.js
v24 - NPM
v11 - PNPM
v11 - Python
3.9.x
Install all workspace dependencies and initialize the local Python environment:
npm run initCommon workspace commands:
npm run build: build all packagesnpm run build-dep: build packages together with their internal dependenciesnpm run test: run tests across the workspace
You can also run npm run build or npm run test inside an individual package.
- Packages live under
packages/*and shared libraries underlibs/*. - The repository uses independent package versioning for publishing.
- The workspace scope is configured in
scope.json.
Before releasing packages from this repository, ensure that your npm authentication is configured
correctly in ~/.npmrc.
Afterwards, run:
npm run publishThe repository publishing CLI will guide you through package selection, version updates, registry selection, publishing, and related Git steps.
If you have questions about ShapeDiver, please use the ShapeDiver Help Center.
You can find out more about ShapeDiver at shapediver.com.
This project is released under the ISC License.