Skip to main content
CLI

Deploy from the CLI

Upload a local project and create a preview or production deployment with easel deploy.

Upload source from your linked project (or monorepo) to Easel and create a deployment. Git is optional — the CLI hashes and uploads source files, then the platform builds remotely.

By default the CLI skips .env and .env.* (including nested paths) so secrets are not uploaded. To include a specific file, add a negation in .easelignore (for example !.env.example).

Note: Deploy requires a CLI token with write permissions. If you logged in before deploy shipped, run easel logout && easel login once.

Prerequisites

  1. Install and authenticate: see Authentication.
  2. Link a project: easel link, or link a monorepo with easel link --repo (or pass --project).

Deploy

Preview (default):

easel deploy

Production:

easel deploy --prod

Wait until the deployment is ready (or fails):

easel deploy --wait --timeout 10m

Monorepos

After easel link --repo, you can run easel deploy from any app subdirectory. The CLI resolves the project from your cwd and uploads the whole repository root so the project's Root Directory (and workspace packages outside that directory) still apply on the remote build.

For --prebuilt, the CLI uploads .vercel/output from the matched app directory instead.

Options

OptionDescription
--prodDeploy to production (default is preview)
--projectProject slug or ID (defaults to linked project)
--waitWait until a terminal status (READY, ERROR, …)
--timeoutTimeout for --wait (default 10m)
--archive=tgzPack the tree as a tarball before upload (fewer round-trips)
--prebuiltUpload .vercel/output and skip the remote framework build
-y, --yesSkip the production confirmation prompt (required for --prod in CI)
-F, --format jsonMachine-readable output

Prebuilt deploys

Build locally, then ship artifacts:

# example: Next.js / Vercel output
vercel build
easel deploy --prebuilt --prod --yes --wait

CI

export EASEL_TOKEN=easel_…
easel deploy --prod --yes --wait --format json

Use a token from easel login, or create one in the dashboard with deploy permissions.

Next steps