Configuration
The platform.yaml file at the root of your project controls how it builds and deploys. Most fields are optional — sensible defaults are chosen based on framework auto-detection.
Build
Settings that control how your project is built.
build.command
string
auto-detected
The shell command that produces your build output
build.output
string
auto-detected
The folder containing the built files
build.install
string
npm ci
The command to install dependencies
build.node
string
20
The Node.js version to use
build.env
object
{}
Environment variables available during build
Example:
build:
command: npm run build
output: dist/
node: 20
env:
NODE_OPTIONS: --max-old-space-size=4096Deploy
Settings that control how your project is deployed and routed.
deploy.framework
string
auto
Framework hint (e.g. next, astro, static)
deploy.routes
array
[]
Custom routing rules
deploy.headers
array
[]
Custom HTTP headers per path
deploy.redirects
array
[]
URL redirects
deploy.region
string
auto
Preferred deploy region
Example:
Preview
Settings that control preview deploys for branches and pull requests.
preview.enabled
boolean
true
Whether previews are enabled at all
preview.branches.include
array
["**"]
Branch patterns to deploy
preview.branches.exclude
array
[]
Branch patterns to skip
preview.comments
boolean
true
Comment on pull requests with preview URLs
preview.password
string
none
Password-protect preview URLs
Notifications
Where to send build and deploy events.
notifications.email
array
[]
Email addresses to notify
notifications.slack
object
none
Slack webhook configuration
notifications.events
array
["deploy.failed"]
Which events trigger notifications
Example:
Plan limits
Limits that apply at the workspace level, by plan:
Active projects
3
25
Unlimited
Unlimited
Concurrent builds
1
3
10
Custom
Build minutes / month
500
6,000
24,000
Custom
Bandwidth / month
100 GB
1 TB
5 TB
Custom
Team members
1
10
50
Unlimited
Custom domains per project
1
10
Unlimited
Unlimited
Was this helpful?