Get it
curl -fsSL https://liftpad.app/cli/liftpad.mjs -o liftpad.mjs
export LIFTPAD_TOKEN=lp_your_token
Or put {"token": "lp_..."} in ~/.liftpad.json.
Deploy a folder
node liftpad.mjs create my-site
node liftpad.mjs deploy ./public --site my-site # draft and preview address
node liftpad.mjs deploy ./public --site my-site --prod # draft, then publish
node liftpad.mjs deploys --site my-site
node liftpad.mjs publish <deployId> --site my-site # publish or roll back
Dotfiles, .git and node_modules are never uploaded (.well-known is). A netlify.toml in the folder or the current folder is sent with the deploy; --config picks another one, --message "..." sets the deploy message.
All commands
| Command | What it does |
|---|---|
sites | List sites |
teams | List your teams and roles |
create <name> [--team <slug>] | Create a site |
deploy [dir] --site <name> [--prod] | Upload a draft (only new files), print its preview address |
publish <deployId> --site <name> | Make a deploy live (also to roll back) |
deploys --site <name> | List deploys |
domain <hostname> --site <name> [--primary] | Connect a domain |
export --site <name> [--out dir] | Site export: live files, manifest and rules, deploy history, domains |
restore <exportDir> --site <name> [--prod] | Rebuild a deploy from an export |
backup [--out dir] | Export every site you can see |
import-netlify <netlifySite> --site <name> [--prod] [--forms] | Copy a Netlify site's live deploy into a Liftpad draft (needs NETLIFY_TOKEN) |
Functions commands (functions deploy, functions env, functions remove) are in alpha and work only for Liftpad operators for now.