Open-source 3D CAD algorithms for the web - MIT licensed. This monorepo contains all Bitbybit NPM packages plus example applications.
Written to be used by people and by AI coding agents alike: every function is published in a form an agent can look up while it writes - see Build It With an AI Agent.
License
Bitbybit 3D parametric CAD API, version-exact, for coding agents: search, describe, examples, guide
2026-11-08
อัปไทม์การตรวจสอบ 1 ครั้งล่าสุด
ดาว
—
เครื่องมือ
7
อัปไทม์
100%
Source code in packages/, languages/, and examples/ is MIT licensed. Documentation text in docs/ is CC BY 4.0. Logos, trademarks, and media assets are not open-source - see CONTENT-LICENSE.md for details.
Scaffold a fully-configured 3D CAD project in seconds:
npx @bitbybit-dev/create-app my-project
The CLI first asks you to pick an app type:
Frontend - Browser-based 3D/CAD app. Choose a game engine (Three.js, Babylon.js, or PlayCanvas) and OCCT architecture (32-bit, 64-bit, or 64-bit MT). You get a Vite + TypeScript project with all three CAD kernels (OCCT, JSCAD, Manifold) pre-configured.
CAD Cloud - Full-stack project with server-side CAD via our CAD Cloud API. Choose a backend template (Hono + SDK, Hono + REST, Node.js + SDK, Node.js + REST, or .NET + REST). You get a React + Three.js frontend that proxies requests through your backend - your API key never leaves the server.
cd my-project
npm install
npm run dev
Build It With an AI Agent
Bitbybit has 2017 functions across three CAD kernels - more than any model remembers, so an agent working from memory invents plausible names that do not exist. Give it the Bitbybit CAD MCP instead and it looks up the exact signature, defaults, return type and examples for the version you have installed. It is free and needs no account:
claude mcp add --transport http bitbybit https://mcp.bitbybit.dev/mcp
Codex, Cursor, VS Code, Gemini CLI, Windsurf, Zed, the JetBrains IDEs, claude.ai, ChatGPT and the Claude API connect to the same endpoint, and npx -y @bitbybit-dev/mcp runs it locally against the @bitbybit-dev packages in your project - every configuration is here.
The whole API as one file to attach, for assistants that cannot speak MCP.
Free
Every answer carries a tier - oss runs in these MIT packages anywhere, platform-pro inside the bitbybit.dev editors, cloud-pro only on CAD Cloud - so an agent never sends you to a paid service for something the free packages already do. The AI section of the documentation covers all of it.
The diagram shows every way a website can reach Bitbybit geometry, and where the NPM packages below sit among them:
NPM packages - this repository. The kernels compile to WebAssembly and run in your users' browsers or in your own Node process, inside your build, MIT licensed and free.
Script runners - one script file loads the same engine and executes scripts exported from the visual editors, with no build step.
Iframe embeds - a project published on bitbybit.dev dropped straight into a page.
CAD Cloud REST API - your backend sends the work to our managed kernels and gets results back as files, for the Pro algorithms and for compute you would rather not host.
AI agents - the MCP servers above, writing code against any of these paths or running the geometry themselves.
Beyond these open-source NPM packages, the Bitbybit platform includes:
Visual Programming Editors - Rete & Blockly drag-and-drop 3D modeling, plus a Monaco TypeScript editor with full IntelliSense
CAD Cloud API - Build full pipelines that compose all Bitbybit algorithms, where each step can reference outputs of previous steps. Supports parametric model generation, STEP-to-glTF conversion, and complex CAD workflows via HTTP. TypeScript SDK available.
Bitbybit Studio - A growing visual dashboard where API Key users can generate models, convert files, build pipelines with a GUI, inspect tasks, and preview 3D results
Script Runners - Execute Rete/Blockly/TypeScript scripts directly on your website without writing code
Built for AI Coding Agents - The free Bitbybit CAD MCP gives Claude Code, Codex, Cursor, VS Code, claude.ai and ChatGPT the exact API of the version you use; the Bitbybit CAD Cloud MCP lets an agent run geometry on CAD Cloud with a key. Context files cover assistants without MCP.
Business & Enterprise - We help businesses and enterprises develop custom applications and spin up optimized CAD tenant workflows on our managed servers
For first-time developers working on this project, follow these steps to set up the development environment and run all unit tests:
Prerequisites
Node.js 22 or newer (.tool-versions pins 22; the nightly workflow also runs 24)
pnpm 11 (see step 2 below)
Git
Quick Start
Clone the repository:
git clone https://github.com/bitbybit-dev/bitbybit.git
cd bitbybit
Install pnpm 11 once (the packages are one pnpm workspace; the packageManager field pins the exact version):
npm install -g pnpm@11
Run the complete first-time setup (this will install all dependencies, build all packages, and run all unit tests):
npm run first-time-setup
Available Commands
npm run first-time-setup - Complete setup for new developers (installs dependencies, builds packages, runs tests)
npm run setup - Install dependencies and build all packages without running tests
npm run setup-and-test - Install dependencies, build packages, and run all unit tests
npm run test - Run all unit tests (requires packages to be built first)
npm run test:report - One report over every suite's last results (files, tests, failures, skipped, coverage); written to the job summary on GitHub Actions
npm run ci-packages - Install dependencies for all packages (one pnpm install --frozen-lockfile for the workspace)
npm run refresh-lockfile - Rewrite pnpm-lock.yaml after a dependency change, without touching node_modules
npm run build-packages - Build and stage all packages (tsc -b over generated project references, run by pnpm in dependency order)
npm run rebuild-all-packages - Empty every dist, then build all packages
npm run gen:references - Regenerate the TypeScript project references from the package manifests after a dependency change
npm run check:references - Fail if the project references and the manifests disagree (the first step of npm test)
npm run lint - ESLint over the repository, green by the committed suppression baseline; a new finding fails
npm run typecheck:strict - Every package's typecheck under the full strict set
npm run check:strict-baselines - Fail if any package has grown a strict baseline; every package is fully strict, so the check holds the line at zero
npm run api:check - Fail if any package's public API surface differs from the committed report in its etc/ folder
npm run api:update - Regenerate those API reports after a deliberate change to the public surface
npm run check:tarballs - Pack every built package and install the tarballs together into an empty project, as a user would
Running Individual Package Tests
You can also run tests for individual packages:
npm run test-base - Test base package
npm run test-occt - Test OCCT package
npm run test-core - Test core package
npm run test-jscad - Test JSCAD package
npm run test-manifold - Test Manifold package
npm run test-threejs - Test ThreeJS package
npm run test-playcanvas - Test PlayCanvas package
npm run test-babylonjs - Test BabylonJS package
Troubleshooting
If you encounter issues during setup:
Make sure you have Node.js 22+ installed (node --version)
Clear the pnpm store: pnpm store prune
Delete node_modules at the root and under packages/dev/*, then run pnpm install
Major Dependencies
BabylonJS, ThreeJS, PlayCanvas, OpenCascade, Manifold, JSCAD, and Verbnurbs - the last of these
deprecated, no longer maintained upstream, and removed in the next major version.
Find Bitbybit API members (methods, namespaces, cloud operations) by keywords, for example "box solid" or "fillet edges". Returns dotted paths with a one-line summary, the tier (oss on npm, platform-pro only at bitbybit.dev, cloud-pro only on CAD Cloud) and the engines each is published for. Call de
The exact contract of one member by dotted path, for example occt.shapes.solid.createBox: signature, every parameter with its type, default and range, the return type, the documentation, examples and where it runs. Answers are for the API version the server holds. It also describes the types a membe
The members one level below a namespace path, for example occt.shapes, each with its kind and summary. Without a path, the top-level namespaces. Use it to discover what exists before searching for details.
Working TypeScript examples for a member path, for a namespace, or for a topic given as keywords. Each example names the member it belongs to and links its reference page. Examples are written for the API version the server holds.
Sections of the public guides: building with Bitbybit (what runs in the browser, on a server, on a lightweight backend, and what needs CAD Cloud), writing geometry with the kernels (which kernel to use, the order to build a part in, choosing edges, checking and exporting shapes), writing design docu