Build settings

Build settings live under Settings → Build on a project. Leave a field empty to use the default described in Supported apps. Changes apply to the next deployment; they do not restart the running app.

Fields

FieldWhat it doesLimit
Root directoryFolder inside the repository that contains the app's package.json. Relative to the repository root.300 characters
Install commandReplaces the package manager's default install. Runs inside the root directory.500 characters
Build commandReplaces the build script or framework default.500 characters
Start commandReplaces the framework default. Must start a server on port 3000 and keep running.500 characters
Node versionRecorded with each deployment for reference. Does not change the Node that runs, which is always 22.50 characters

Whitespace-only values are treated as empty.

Root directory rules

  • Leading and trailing slashes are removed; . means the repository root.
  • Absolute paths and .. segments are rejected.
  • The folder must exist and contain a package.json, otherwise the deployment fails at the build step with a message pointing back here.

Commands run in a shell

Each command is executed by sh -c inside the root directory, so you can chain steps:

npm run generate && npm run build

Environment variables you have set on the project are available to all three commands. The build has outbound internet access, so commands may fetch from registries or download tools.

Common overrides

Prisma or another code generator before build.

npx prisma generate && npm run build

A Node backend that compiles to a different entry point.

Start command:

node build/server.js

Skip a heavy install when the lockfile is stale. Set the install command to npm install to allow the lockfile to update. Prefer fixing the lockfile; frozen installs are the reason builds are reproducible.

Locked while deletion is scheduled

When a project is scheduled for deletion, build settings become read-only. Cancel the deletion from project settings to edit them again.

Audit trail

Every change to build settings is recorded in the project's Activity tab with who made it and when.