/cli

Netlify Command Line Interface

Primary LanguageJavaScriptMIT LicenseMIT

Netlify CLI

Coverage Status npm version downloads netlify-status security

Interact with Netlify from the comfort of your CLI.

See the CLI command line reference to get started and the docs on using Netlify Dev to run your site locally.

Table of Contents

Click to expand

Installation

Netlify CLI requires Node.js version 14 or above. To install, run the following command from any directory in your terminal:

npm install netlify-cli -g

When using the CLI in a CI environment we recommend installing it locally as a development dependency, instead of globally. To install locally, run the following command from the root directory of your project:

npm install --save-dev netlify-cli

Important: Running npm install netlify-cli -g in CI means you're always installing the latest version of the CLI, including breaking changes. When you install locally and use a lock file you guarantee reproducible builds. To manage CLI updates we recommend using an automated tool like renovate or dependabot.

Alternatively you may also use Homebrew: brew install netlify-cli (thanks @cglong).

Usage

Installing the CLI globally provides access to the netlify command.

netlify [command]

# Run `help` for detailed information about CLI commands
netlify [command] help

Documentation

To learn how to log in to Netlify and start deploying sites, visit the documentation on Netlify.

For a full command reference, see the list below, or visit cli.netlify.com.

Commands

(Beta) Manage Netlify Add-ons

Subcommand description
addons:auth Login to add-on provider
addons:config Configure add-on settings
addons:create Add an add-on extension to your site
addons:delete Remove an add-on extension to your site
addons:list List currently installed add-ons for site

Run any Netlify API method

(Beta) Build on your local machine

(Beta) Generate shell completion script

Subcommand description
completion:install Generates completion script for your preferred shell

Create a new deploy from the contents of a folder

Local dev server

Subcommand description
dev:exec Exec command

Control environment variables for the current site

Subcommand description
env:clone Clone environment variables from one site to another
env:get Get resolved value of specified environment variable (includes netlify.toml)
env:import Import and set environment variables from .env file
env:list Lists resolved environment variables for site (includes netlify.toml)
env:set Set value of environment variable
env:unset Unset an environment variable which removes it from the UI

Manage netlify functions

Subcommand description
functions:build Build functions locally
functions:create Create a new function locally
functions:invoke Trigger a function while in netlify dev with simulated data, good for testing function calls including Netlify's Event Triggered Functions
functions:list List functions that exist locally
functions:serve (Beta) Serve functions locally

Configure continuous deployment for a new or existing site. To create a new site without continuous deployment, use netlify sites:create

Link a local repo or project folder to an existing site on Netlify

Handle Netlify Large Media operations

Subcommand description
lm:info Show large media requirements information.
lm:install Configures your computer to use Netlify Large Media
lm:setup Configures your site to use Netlify Large Media

Login to your Netlify account

Open settings for the site linked to the current folder

Subcommand description
open:admin Opens current site admin UI in Netlify
open:site Opens current site url in browser

(Beta) Create and modify files in a project using pre-defined recipes

Subcommand description
recipes:list (Beta) List the recipes available to create and modify files in a project

(Beta) Build the site for production and serve locally. This does not watch the code for changes, so if you need to rebuild your site then you must exit and run serve again.

Handle various site operations

Subcommand description
sites:create Create an empty site (advanced)
sites:create-template (Beta) Create a site from a starter template
sites:delete Delete a site
sites:list List all sites you have access to

Print status information

Subcommand description
status:hooks Print hook information of the linked site

Switch your active Netlify account

Unlink a local folder from a Netlify site

Watch for site deploy to finish

Contributing

See CONTRIBUTING.md for more info on how to make contributions to this project.

Development

You'll need to follow these steps to run Netlify CLI locally:

uninstall any globally installed versions of netlify-cli
clone and install deps for https://github.com/netlify/cli
npm link from inside the cli folder

Now you're both ready to start testing and to contribute to the project!

License

MIT. See LICENSE for more details.