Installation
Install @taucad/runtime and wire it into your framework.
Install the runtime framework, one kernel, and one bundler, then wire the runtime into your framework.
Prerequisites
- Node.js 24 or later
- A package manager: npm, pnpm, or yarn
Install the Packages
The runtime ships no kernels, so install at least one kernel plugin (@taucad/replicad) and the @taucad/esbuild bundler that compiles TypeScript model code. zod is a required peer dependency.
pnpm add @taucad/runtime @taucad/replicad @taucad/esbuild zodAdd other plugins the same way when you need them — see Choose a Kernel.
Native Build123d
@taucad/build123d is not a browser plugin, and a global Python does not make it usable: the host packages the pinned CPython and wheel tree itself. Read Build123d first.
tscircuit
To use TSX electronics boards, install @taucad/tscircuit with the runtime, bundler, and Zod. Its bundled engine needs no package-manager hook or bundler alias. See tscircuit for the authoring contract.
npm install @taucad/runtime @taucad/esbuild @taucad/tscircuit zodFramework Configuration
Vite and React Router
Add the runtime's Vite integration beside the framework plugins. Vite flattens the plugin array returned by tauRuntime(), so do not spread it:
import { reactRouter } from '@react-router/dev/vite';
import { tauRuntime } from '@taucad/runtime/vite';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [tauRuntime(), reactRouter()],
});For plain Vite, omit reactRouter(). The same tauRuntime() call supports Vite 7 and 8.
Next.js
import { withTauRuntime } from '@taucad/runtime/nextjs/config';
export default withTauRuntime();The composer supports Next.js 15/Webpack and Next.js 16/Turbopack without a version branch.
Electron
import { electronRuntimeConfig } from '@taucad/runtime/electron/vite';
export default electronRuntimeConfig({
main: {},
preload: {},
renderer: {},
});Continue with Bundling for utility-process entries and the Framework Integrations API for every process helper.
Node.js
No build configuration is needed on the server. Compose a runtime, and use fromNodeFs to read model files from disk:
import { createRuntimeClient } from '@taucad/runtime';
import { fromNodeFs } from '@taucad/runtime/filesystem/node';
import { inProcessTransport } from '@taucad/runtime/transport/in-process';
import { defineRuntime } from '@taucad/runtime/worker';
import { replicad } from '@taucad/replicad';
import { esbuild } from '@taucad/esbuild';
const runtime = defineRuntime({
plugins: [replicad(), esbuild()],
});
const client = createRuntimeClient({
transport: inProcessTransport({ runtime, fileSystem: fromNodeFs('/path/to/project') }),
});Subpath Imports
The package splits its API across subpaths so bundles carry only what they import: the client from @taucad/runtime, transports from /transport/*, filesystems from /filesystem (with platform backends behind /node and /browser), and authoring entries from /kernel, /middleware, and /bundler. Each API Reference page names the subpath that exports its symbols.
What's Next
- Quick Start — Render your first 3D model
- LLMs.txt — Feed Runtime docs into AI tools
- API Reference: Client — Full API documentation for
createRuntimeClient