SerenDB CLI

The SerenDB CLI is a command-line interface that lets you manage SerenDB directly from the terminal. This documentation references all commands and options available in the SerenDB CLI.

🚀 Get set up in just a few steps with the CLI Quickstart.

Install

<Tabs labels={["macOS", "Windows", "Linux"]}>

Install with Homebrew

brew install neonctl

Install via npm

npm i -g neonctl

Requires Node.js 18.0 or higher.

Install with bun

bun install -g neonctl

macOS binary

Download the binary. No installation required.

curl -sL https://github.com/serenorg/neonctl/releases/latest/download/neonctl-macos -o neonctl

Run the CLI from the download directory:

neon <command> [options]

Install via npm

npm i -g neonctl

Install with bun

bun install -g neonctl

Requires Node.js 18.0 or higher.

Windows binary

Download the binary. No installation required.

curl -sL -O https://github.com/serenorg/neonctl/releases/latest/download/neonctl-win.exe

Run the CLI from the download directory:

neonctl-win.exe <command> [options]

Install via npm

npm i -g neonctl

Install with bun

bun install -g neonctl

Linux binary

Download the x64 or ARM64 binary, depending on your processor type. No installation required.

x64:

curl -sL https://github.com/serenorg/neonctl/releases/latest/download/neonctl-linux-x64 -o neonctl

ARM64:

 curl -sL https://github.com/serenorg/neonctl/releases/latest/download/neonctl-linux-arm64 -o neonctl

Run the CLI from the download directory:

neon <command> [options]

For more about installing, upgrading, and connecting, see SerenDB CLI — Install and connect.

You can run the SerenDB CLI without installing it using **npx** (Node Package eXecute) or the `bun` equivalent, **bunx**. For example:

# npx
npx neonctl <command>

# bunx
bunx neonctl <command>

Synopsis

neon --help
usage: neon <command> [options]                               [aliases: neonctl]

Commands:
  neon auth                        Authenticate                      [aliases: login]
  neon me                          Show current user
  neon orgs                        Manage organizations                [aliases: org]
  neon projects                    Manage projects                 [aliases: project]
  neon ip-allow                    Manage IP Allow
  neon vpc                         Manage VPC endpoints and project VPC restrictions
  neon branches                    Manage branches                   [aliases: branch]
  neon databases                   Manage databases            [aliases: database, db]
  neon roles                       Manage roles                        [aliases: role]
  neon operations                  Manage operations               [aliases: operation]
  neon connection-string [branch]  Get connection string                  [aliases: cs]
  neon set-context                 Set the current context
  neon completion                  generate completion script

Global options:
  -o, --output      Set output format
                  [string] [choices: "json", "yaml", "table"] [default: "table"]
  --config-dir      Path to config directory [string] [default: ""]
  --api-key         API key  [string] [default: ""]
  --analytics       Manage analytics. Example: --no-analytics, --analytics false
                                                       [boolean] [default: true]
  -v, --version     Show version number                                [boolean]
  -h, --help        Show help                                          [boolean]

Options:
--context-file      Context file [string] [default: (current-context-file)]

Commands

Command
Subcommands
Description

Authenticate

Show current user

list

Manage organizations

list, create, update, delete, get

Manage projects

list, add, remove, reset

Manage IP Allow

endpoint, project

Manage VPC endpoints and project VPC restrictions

list, create, reset, restore, rename, schema-diff, set-default, add-compute, delete, get

Manage branches

list, create, delete

Manage databases

list, create, delete

Manage roles

list

Manage operations

Get connection string

Set context for session

Generate a completion script

Global options

Global options are supported with any SerenDB CLI command.

Option
Description
Type
Default

Set the SerenDB CLI output format (json, yaml, or table)

string

table

Path to the SerenDB CLI configuration directory

string

/home/<user>/.config/neonctl

SerenDB API key

string

NEON_API_KEY environment variable

Colorize the output. Example: --no-color, --color false

boolean

true

Manage analytics

boolean

true

Show the SerenDB CLI version number

boolean

-

Show the SerenDB CLI help

boolean

-

  • -o, --output

    Sets the output format. Supported options are json, yaml, and table. The default is table. Table output may be limited. The json and yaml output formats show all data.

    neon me --output json
  • --config-dir

    Specifies the path to the neonctl configuration directory. To view the default configuration directory containing you credentials.json file, run neon --help. The credentials file is created when you authenticate using the neon auth command. This option is only necessary if you move your neonctl configuration file to a location other than the default.

    neon projects list --config-dir /home/<user>/.config/neonctl
  • --api-key

    Specifies your SerenDB API key. You can authenticate using a SerenDB API key when running a SerenDB CLI command instead of using neon auth. For information about obtaining an SerenDB API key, see Create an API key.

    neon <command> --api-key <neon_api_key>

    To avoid including the --api-key option with each CLI command, you can export your API key to the NEON_API_KEY environment variable.

    export NEON_API_KEY=<neon_api_key>

    The authentication flow for the SerenDB CLI follows this order:

    • If the --api-key option is provided, it takes precedence and is used for authentication.

    • If the --api-key option is not provided, the NEON_API_KEY environment variable is used if it is set.

    • If both --api-key option and NEON_API_KEY environment variable are not provided or set, the CLI falls back to the credentials.json file created by the neon auth command.

    • If the credentials file is not found, the SerenDB CLI initiates the neon auth web authentication process.

  • --color

    Colorize the output. This option is enabled by default, but you can disable it by specifying --no-color or --color false, which is useful when using SerenDB CLI commands in your automation pipelines.

  • --analytics

    Analytics are enabled by default to gather information about the CLI commands and options that are used by our customers. This data collection assists in offering support, and allows for a better understanding of typical usage patterns so that we can improve user experience. SerenDB does not collect user-defined data, such as project IDs or command payloads. To opt-out of analytics data collection, specify --no-analytics or --analytics false.

  • -v, --version

    Shows the SerenDB CLI version number.

    $ neon --version
    1.15.0
  • -h, --help

    Shows the neon command-line help. You can view help for neon, a neon command, or a neon subcommand, as shown in the following examples:

    neon --help
    
    neon branches --help
    
    neon branches create --help

Options

Option
Description
Type
Default

The context file for CLI sessions

string

current-context-file

  • --context-file

    Sets a background context for your CLI sessions, letting you perform organization, project, or branch-specific actions without having to specify the relevant id in every command. For example, this command lists all branches using the branches list command. No need to specify the project since the context file provides it.

    neon branches list --context-file path/to/context_file_name

    To define a context file, see SerenDB CLI commands — set-context.

GitHub repository

The GitHub repository for the SerenDB CLI is found here.

Last updated