Get started
Install open-compute, start one local instance, and deploy a TypeScript Worker.
This path installs the current formal release, starts one local instance, and deploys a minimal Worker. Formal binaries are available for macOS on Apple silicon and Linux on ARM64 or x86-64.
Set up with an AI coding agent
Section titled “Set up with an AI coding agent”Copy this prompt into Codex, Claude Code, or another coding agent. The code block has a one-click copy button:
Read https://open-compute.dev/llms.txt and install the current open-compute release on this machine. Configure one local instance, inspect any existing installation first, preserve its configuration and instance data, ask before using sudo or making destructive changes, then run ocd status and report the result.llms.txt contains the minimum setup and usage instructions, with links to detailed documentation when needed.
1. Install
Section titled “1. Install”Install the latest formal release:
curl -fsSL https://open-compute.dev/install.sh | shThe installer selects the matching platform binary and verifies the release checksums. It installs ocd below ~/.local and stores its private receipt in ~/.open-compute/install-receipt.json; temporary downloads stay under ~/.open-compute/tmp/. It adds ~/.local/bin to supported shell configuration when needed, or prints one exact export PATH=... command. It does not create configuration, instance data, secrets, or a service.
2. Set up the platform
Section titled “2. Set up the platform”Create the recommended user configuration and data directories, register the login-scoped user service, and start the first instance:
ocd setup --yesVerify the instance and open the Dashboard:
ocd statusocd dashboardstatus must report ready. dashboard opens a one-time login URL; it does not ask you to copy a long-lived admin token.
This creates one scoped daemon and its first isolated instance. Add more later with ocd instance setup --name staging --yes; then use --instance staging for instance-scoped commands. See Instances.
The user service starts again at login but may stop at logout. To run a host-wide service before login, explicitly install and set up system scope:
curl -fsSL https://open-compute.dev/install.sh | sudo shsudo ocd setup --system --yes3. Create a Worker project
Section titled “3. Create a Worker project”Use Node.js 22.18 or later. Bun manages dependencies; Node runs cf.
mkdir hello-worker && cd hello-workerbun init -ybun add -d cf@1.0.0-beta.12 @cloudflare/vite-plugin@2.0.0-beta.sha-52b0dc0e9 vite typescriptmkdir srcThese versions match our internal CI baseline. User projects may choose another cf version: 1.0.x does not warn; other versions warn and still execute.
Create cloudflare.config.ts:
import { defineConfig } from "cf/config";
export default defineConfig({ worker: { name: "hello-worker", entrypoint: "src/index.ts", compatibilityDate: "2026-09-08", workersDev: false, },});Create vite.config.ts:
import { cloudflare } from "@cloudflare/vite-plugin";import { defineConfig } from "vite";
export default defineConfig({ plugins: [cloudflare()] });Create src/index.ts:
export default { fetch(request: Request): Response { return Response.json({ message: "hello from open-compute", path: new URL(request.url).pathname, }); },} satisfies ExportedHandler;Create tsconfig.json with strict checking and the official generated types:
{ "compilerOptions": { "target": "ES2024", "module": "ESNext", "moduleResolution": "Bundler", "lib": ["ES2024"], "types": [], "strict": true, "noEmit": true }, "include": ["src/**/*.ts", ".cloudflare/types/**/*.d.ts"]}4. Develop and deploy
Section titled “4. Develop and deploy”Add package scripts for dev: cf dev and build: cf workers types --mode production && tsc --noEmit && cf build --mode production, then run:
bun run devbun run buildocd cf deploy --prebuilt --mode productioncf dev uses official local simulations. Deployment uses the selected open-compute instance. Inspect logs through Dashboard Live Tail; cf currently has no equivalent terminal streaming command.
Migrate an existing Wrangler project explicitly with cf migrate ./wrangler.jsonc --bundler vite, finish its TODOs, and configure Vite. ocd only diagnoses old configuration files and never runs migration automatically.
Continue with Develop, Operate, and Products.
With npm use npm install and npm run dev/build; with pnpm use pnpm install --frozen-lockfile and pnpm run dev/build. Install development dependencies with npm install --save-dev / pnpm add -D.