The Nimbella Command Line Tool (nim) is your primary portal to Nimbella services. Typing nim at a command prompt produces the latest version of help output, similar to the following.
A comprehensive CLI for the Nimbella stack
nimbella-cli/0.1.15 darwin-x64 node-v13.12.0
$ nim [COMMAND]
action work with actions
activation work with activations
auth manage Nimbella and GitHub credentials
doc display the full documentation of this CLI
help display helpfor nim
info show information about this version of 'nim'
key-value work with key-value store
namespace work with namespaces
objects work with objects store
package work with packages
project manage and deploy Nimbella projects
route work with routes
rule work with rules
trigger work with triggers
update update the nim CLI
web work with web contents
workbench open Nimbella workbench with login or command
These commands fall into four categories, described in the following sections.
Note: In some of the help output from nim (as shown) there are colon separators between parts of the command. This happens because nim is based on oclif, the Open CLI Framework from Heroku, which requires them. However, nim has logic to allow blank separators, so you can also use these commands with blank separators, as in these examples:
> nim auth list
> nim project deploy
If you find a case in which a blank separator doesn't work in nim, please report it as an issue or use a colon separator.
1 Credential management to access Nimbella namespaces#
The auth subtree lets you manage Nimbella credentials for Nimbella namespaces, as described in the section Nimbella Namespaces.
The nim auth subtree has its own set of commands, as follows.
> nim auth
manage Nimbella and GitHub credentials
$ nim auth:COMMAND
auth:current Get current namespace with optional details
auth:export Make a token for switching to another machine or web browser
auth:github manage GitHub accounts
auth:list List all your Nimbella namespaces
auth:login Gain access to a Nimbella namespace
auth:logout Drop access to a Nimbella namespace
auth:switch Switch to a different Nimbella namespace
These subcommands operate on logical groupings of resources (web content, storage, and APIs) that make up typical applications. Such a grouping is called a project and is described more in About Nimbella Projects.
The project:deploy command controls the Nimbella deployer, which operates on projects. Much of the rest of this document concerns itself with projects and the deployer.
Help output for the nim project command:
> nim project
manage and deploy Nimbella projects
$ nim project:COMMAND
project:create Create a Nimbella Project
project:deploy Deploy Nimbella projects
project:watch Watch Nimbella projects, deploying incrementally on change
Help output for the nim project create command:
> nim project create
Create a Nimbella Project
$ nim project:create [PROJECT]
PROJECT project path in the file system
-c, --clientCode Generates client code
-i, --id=id API specs id/name/path
-k, --key=key Key to access the source API
-l, --language=go|js|ts|py|java|swift|php [default: js] Language for the project (creates sample project unless source is specified)
-o, --overwrite Overwrites the existing nimbella project directory if it exists
-s, --source=postman|openapi API specs source
-u, --updateSource Sync updated API specs back to source