Nitric CLI

The Nitric CLI allows you to build, develop, and deploy your serverless application.

To verify your installation run nitric version. If a version is printed, the CLI is installed correctly.

To get a list of the available commands, run the nitric help command and you will see the following:

Nitric - The fastest way to build serverless apps

To start with nitric, run the 'nitric new' command:

    $ nitric new

This will guide you through project creation, including selecting from available templates.

For further details visit our docs

  nitric [command]

Available Commands:
  build       Build a Nitric project
  completion  Generate the autocompletion script for the specified shell
  down        Undeploy a previously deployed stack, deleting resources
  help        Help about any command
  new         Create a new project
  run         Run your project locally for development and testing
  stack       Manage stacks (the deployed app containing multiple resources e.g. services, buckets and topics)
  start       Run nitric services locally for development and testing
  up          Create or update a deployed stack
  version     Print the version number of this CLI

      --ci     CI mode, disable output styling and auto-confirm all operations
  -h, --help   help for nitric

Use "nitric [command] --help" for more information about a command.

Common Commands

There are a few common commands that you will use frequently:

  • nitric new creates a new project
  • nitric stack new creates a new stack within a project
  • nitric start runs the Nitric server locally
  • nitric up deploys your stack to the cloud
  • nitric down destroys your stack from the cloud

Getting Started


To start a new project with nitric, run the nitric new command.

nitric new

This will walk through creating the project, including the name and what template you want to start from.

The command will also create a nitric.yaml file. This file contains the configuration for your project. The services key is list of globs for your services. The services should point to all services you want to run or deploy.

name: my-project
  - match: services/*.ts
    start: ts-node $SERVICE_PATH

If you want to specify a specific type of service that matches your stack config, you can use this syntax instead:

name: my-project
  - match: services/*.ts
    start: ts-node $SERVICE_PATH
    type: default
  - match: custom/*.ts
    start: ts-node $SERVICE_PATH
    type: memory-optimized


Creating a new stack will create a configuration for a particular cloud. You can have multiple stacks for one project.

nitric stack new

This will create a nitric.stackName.yaml file that contains the configuration for deploying to the cloud. Some providers will have different config, here's an example of an aws stack:

provider: nitric/aws@1.1.0
region: us-east-1

If you want to specify different configuration for your services you can use the following syntax:

provider: nitric/aws@1.1.0
region: us-east-1
telemetry: 10
      memory: 1024
      memory: 4096


When you are done developing your application and you want to run and test it locally, you can use the nitric start command.

nitric start

This will run the Nitric server for local testing. This will output local endpoints for your apis and open the local dashboard for testing.


Deploying the Stack

Once you have tested your application locally and you're ready to deploy, you can do nitric up. This command can be optionally supplied with the name of a stack with the -s or --stack argument. However, the stack will be auto-detected if there is only one or options will be presented if there are multiple. This will set the cloud configuration for that particular deployment.

If this is your first deployment, you will have to set up your cloud credentials before deploying to the cloud. You can find the guides for these in the cloud's section in the reference documentation. The AWS guide is here.

nitric up

Destroying the Deployment

If you make changes and want to redeploy, you don't have to take the application down, you can just redeploy and it will find the difference. However, if you do want to destroy the application completely, you can use the nitric down command.

nitric down

Listing Stacks

To get information about your stacks, use the nitric stack list command.

This will provide give information about its name, its deployment status, when it was last updated, the resource count, and a url to view the deployment on the pulumi console (will require a pulumi account).


To get information about the CLI version you are using, you can use:

nitric version

For information regarding individual commands, use the --help argument on any of the CLI commands. Alternatively you can run:

nitric help