Project Configuration

Each Build project is configured via the build.json file in the project root. This file defines the framework, runtime, build commands, and project-level settings.

build.json

build.json
json
{
"name": "my-web-app",
"framework": "nextjs",
"runtime": "node",
"runtimeVersion": "20",
"buildCommand": "npm run build",
"devCommand": "npm run dev",
"outputDirectory": ".next",
"installCommand": "npm install",
"port": 3000,
"env": {
"NODE_ENV": "development"
}
}

Supported Frameworks

Next.jsNode.js 18/20/22YesReact (Vite)Node.js 18/20/22YesVue (Vite)Node.js 18/20/22YesSvelteKitNode.js 18/20/22YesAstroNode.js 18/20/22YesNuxtNode.js 18/20/22YesRemixNode.js 18/20/22YesStatic HTML—YesPython (Flask/Django)Python 3.11/3.12YesRust (Axum/Actix)Rust stableNo

Configuration Reference

namestring(required)Project name (alphanumeric, dashes)frameworkstringautoFramework preset or auto-detectruntimestringnodeRuntime: node, python, rust, staticruntimeVersionstring20Major runtime versionbuildCommandstringautoShell command to build for productiondevCommandstringautoShell command to start dev serveroutputDirectorystringautoBuild output folder for static deployinstallCommandstringautoDependency install commandportnumber3000Dev server portenvobject{}Default environment variables

Package Manager Detection

Build auto-detects the package manager from lock files:

  • package-lock.json — npm
  • yarn.lock — Yarn
  • pnpm-lock.yaml — pnpm
  • bun.lockb — Bun

Override by setting "packageManager" in build.json.

PreviousAboutNextSandbox