Zuplo CLI: Dev
Local mTLS client certificates
On managed-dedicated and self-hosted projects, zuplo dev presents client
certificates to your backend, so routes that set mtlsCertificate work locally
without a code change.
Put each certificate in its own subdirectory of .zuplo-local/mtls, named after
the certificate:
Code
zuplo dev finds that directory automatically and logs the certificates it
loaded. To read certificates from somewhere else, pass --mtls-certs:
Code
The flag takes precedence over .zuplo-local/mtls and fails fast when the
directory is missing or holds no valid certificate.
.zuplo-local/ contains unencrypted private keys. Projects created with
create-zuplo-api gitignore it already; for older projects, add
.zuplo-local/ to your .gitignore. zuplo dev warns at startup when it
isn't covered.
The project type comes from projectType in zuplo.jsonc. If that field is
missing, run zuplo link to have the CLI detect and write it —
otherwise local development falls back to managed-edge and skips mTLS.
On managed-edge projects, local mTLS isn't available and --mtls-certs is
ignored with a warning. For the full workflow, including certificate
requirements and troubleshooting, see
Gateway to Origin mTLS Authentication.
Examples
Start the local development server with default settings (port 9000 for API, port 9100 for editor, port 9200 for docs)
Start the local server on a custom port
Start only the API server without opening the editor
Start the API server without the docs server
Start with Chrome DevTools inspector enabled on port 9229
Options
--mtls-certs
Directory containing mTLS client certificates to load for local development (layout: <dir>/<cert-name>/tls.crt and tls.key). Only supported for managed-dedicated projects. If not provided, certificates are loaded from ./.zuplo-local/mtls when that directory exists.
stringAlias: -mtls-certificates-dir--start-editor
Start the editor with the local server
booleanDefault: true--start-docs
Start the docs server with the local development setup
booleanDefault: true--unsafely-ignore-certificate-errors
Unsafely ignore certificate errors
booleanDefault: false--port
The port to run the local server on
numberDefault: 9000--editor-port
The port to run the route designer on
numberDefault: 9100--docs-port
The port to run the docs server on
numberDefault: 9200--debug-port
The port to run the Chrome inspector on
numberGlobal options
The following global options are available for all commands: