GUIDE · INDEX
Guide
Getting started walks from an empty directory to C++ running in your app. Concepts explain the pieces you will meet after that - the build, the bindings, the filesystem, threads. Everything here is a page you can read end to end in a few minutes.
Getting started
START HERE
Introduction
What crossbind does, what one import buys you, and where the output runs.
START HERE
Quick start
Prerequisites, a new project or an existing one, and your first call into C++.
GETTING STARTED
Bundlers
Vite, Webpack, Rspack, Rollup, Metro - and the escape hatch when you have none.
GETTING STARTED
Runtimes
Browser, Node, Cloudflare Workers, React Native and WASI - what each one supports.
Concepts
CONCEPTS
Architecture
What runs when you build: targets, bridges, the toolchain boundary, and the cache.
CONCEPTS
C++ bindings
The subset of C++ that binds automatically, the type table, and how to wrap the rest.
CONCEPTS
Rust
Import a crates.io crate or a local .rs file with the same one-line import.
CONCEPTS
Packages
Use a prebuilt C++ library from npm, or publish your own the same way.
CONCEPTS
Filesystem
Where files live per runtime: OPFS, in-memory, the host disk - and how to mount user files.
CONCEPTS
Threading and workers
st versus mt, useWorker, and the COOP/COEP headers production needs.
CONCEPTS
Assets and data files
Ship the data files a native library needs, and point it at them on every platform.
CONCEPTS
WASI commands
Compile to a single wasm command, or run the prebuilt CLI tools straight from npm.
CONCEPTS
Configuration
Everything cppjs.config.js can declare, and how its paths resolve.