Configuration#
The NMP CLI uses a configuration file to store connection settings, credentials, and preferences. This allows you to work with multiple environments and switch between them easily.
Quick Setup#
The quickest way to connect to an existing deployment is:
# Set base URL and authenticate in one command
nmp auth login --base-url https://nmp.example.com
To configure a named context:
nmp --context prod auth login --base-url https://nmp.prod.example.com
Configuration File#
The configuration is stored in ~/.config/nmp/config.yaml. If the XDG_CONFIG_HOME environment variable is set, the file is stored in $XDG_CONFIG_HOME/nmp/config.yaml instead. You can also specify a custom location with the NMP_CONFIG_FILE environment variable.
Managing Configuration#
View Configuration#
Display configuration for the current context (secrets are redacted):
nmp config view
Display all contexts:
nmp config view --all-contexts
Switch Contexts#
Inspect the currently active context and resolved references:
nmp config view
Or print only the current context name:
nmp config current-context
Switch to a different context:
nmp config use-context prod
Use a context for a single command without switching:
nmp --context prod workspaces list
Modify Configuration#
Set specific values:
nmp config set --base-url https://nmp.example.com
nmp config set --workspace my-workspace
nmp config set --access-token
When setting an access token, you’ll be prompted to enter it securely (input is hidden).
Environment Variables#
Environment variables override configuration file settings. This is useful for CI/CD pipelines or temporary overrides.
Variable |
Description |
|---|---|
|
Path to configuration file |
|
Override current context |
|
API base URL |
|
Access token for authentication |
|
Default workspace |
|
Output format (table, json, yaml, csv, markdown) |
|
Timestamp format (relative, iso8601) |
|
Enable/disable colored output (true/false) |
Example:
# Use a different context for this command
NMP_CURRENT_CONTEXT=prod nmp workspaces list
# Override base URL
NMP_BASE_URL=https://nmp.example.com nmp models list
Configuration Precedence#
Settings are resolved in this order (highest priority first):
Command-line flags -
--base-url,--context, etc.Environment variables -
NMP_BASE_URL,NMP_CURRENT_CONTEXT, etc.Configuration file -
~/.config/nmp/config.yamlDefaults - Built-in default values
This means you can set defaults in your config file and override them as needed with environment variables or flags.
Shell Completion#
The NMP CLI supports tab completion for Bash, Zsh, and Fish shells. Enable it with:
nmp --install-completion
This detects your current shell and installs the appropriate completion script. Restart your shell for the changes to take effect.
After installation, test that completion is working:
nmp <Tab>
nmp models <Tab>
If completion isn’t working, make sure you’ve restarted your shell and that your shell supports programmable completion. For Bash, ensure bash-completion is installed on your system.