Deploylet documentation

Deploy your first static build

Create a Deploylet project, inspect the generated configuration, then publish a static output folder.

What you need

Deploylet accepts a static output folder. You need a verified Deploylet account and Node.js 24 or newer.

Sign in and choose a workspace

$ npx deploylet login
$ npx deploylet workspaces

Confirm the short-lived code in Deploylet Console.

Create the app

$ npx deploylet apps create acme-site --workspace acme --name "Acme site"

Initialize a project

$ npx deploylet init acme-site --workspace acme --dir ./acme-site --yes
$ cd acme-site
$ npx deploylet link --workspace acme --app acme-site
$ npx deploylet config

The generated deploylet.toml names the app, workspace, environment, deployment directory, and requested runtime capabilities. It is Deploylet's only project configuration file. Keep the deployment directory inside the configuration directory.

app = "acme-site"
workspace = "acme"
environment = "production"

[deploy]
directory = "dist"
source_maps = false
exclude = ["drafts/**"]

Inspect before publishing

$ npx deploylet deploy --dry-run

The dry run builds a manifest locally and does not upload files. Deploylet always excludes dependencies, VCS metadata, local credentials, environment files, and private keys. Project-specific[deploy].exclude patterns add to those protections. There is no .deployletignore. Dot- and dash-prefixed files are not rejected as a group, so valid content such as .well-known/**remains deployable.

Upload and release

$ npx deploylet deploy --json
$ npx deploylet releases create <deployment-id> --workspace acme --app acme-site

Uploading creates an immutable ready deployment without changing traffic. Inspect its identifier, then create a release to activate it. Use deploylet deploy --release when an explicit upload-and-release fast path is appropriate. For CI, create a scoped service credential in Console and store it as DEPLOYLET_TOKEN.