CLI
Install the Nango CLI
Install the Nango CLI globally:
npm install nango -g
In the folder where you want your integration folder (e.g. root of your project), run:
nango init
This creates the ./nango-integrations
folder with some initial configuration and an example
sync script. The nango-integrations
directory looks like this:
nango-integrations/
├── .env
├── nango.yaml
├── models.ts
└── demo-github-integration # this is the integration unique ID and must match the nango.yaml entry and the integration ID in the UI
└── syncs/
└── github-issue-example.ts
CLI Authentication
Add the following env vars. We recommend that you have a .env
file in ./nango-integrations
:
NANGO_SECRET_KEY_PROD='<prod-secret-key>'
NANGO_SECRET_KEY_DEV='<dev-secret-key>'
Get your prod
and dev
secret keys from the Environment Settings tab (toggle between the prod
and dev
environment in the left nav bar).
For self-hosting, set the NANGO_HOSTPORT
env variable to http://localhost:3003
(for local development) or your instance’s URL.
All CLI commands & command details
Check out all CLI commands by running:
nango
Get details about a specific command by running:
nango [command] --help
Command | Description | Details |
---|---|---|
nango init | Creates the nango-integrations directory with a demo Github integration. | Generates models.ts , but not the compiled .js files. |
nango dev | Necessary to edit integration configurations and scripts. | Watches the nango.yaml and integration scripts, re-generates models.ts and compiled .js files. |
nango generate | Generates an integration script .ts file with initial scaffold when new syncs appear in your nango.yaml . | Re-generates models.ts , not the compiled .js files. |
nango dryrun <params> | Lets you test integration scripts locally. | |
nango deploy <env> | Lets you deploy your sync to your dev or prod environment | Generates the compiled .js files. |
nango migrate-to-directories | For earlier iterations of the nango-integrations directory all script files were located at the root level of the nango-integrations directory . | Moves the script files to syncs and actions directory within the integration name. |
Flags & environment variables
Global command flags:
# Command flag to auto-confirm all prompts (useful for CI).
# Note: Destructive changes (like removing a sync or renaming a model) requires confirmation, even when --auto-confirm is set. To bypass this restriction, the --allow-destructive flag can be passed to nango deploy.
--auto-confirm
Environment variables:
# Recommendation: in a ".env" file in ./nango-integrations.
# Authenticates the CLI (get the keys in the dashboard's Environment Settings).
NANGO_SECRET_KEY_DEV=xxxx-xxx-xxxx
NANGO_SECRET_KEY_PROD=xxxx-xxx-xxxx
# Nango's instance URL (OSS: change to http://localhost:3003 or your instance URL).
NANGO_HOSTPORT=https://api.nango.dev # Default value
# How to handle CLI upgrades ("prompt", "auto" or "ignore").
NANGO_CLI_UPGRADE_MODE=prompt # Default value
# Whether to prompt before deployments.
# Note: Destructive changes (like removing a sync or renaming a model) requires confirmation, even when NANGO_DEPLOY_AUTO_CONFIRM is set to true. To bypass this restriction, the --allow-destructive flag can be passed to nango deploy.
NANGO_DEPLOY_AUTO_CONFIRM=false # Default value
Questions, problems, feedback? Please reach out in the Slack community.
Was this page helpful?