Navigation
Getting Started
Business Setup
Money
WebApp Modules
Developers
DashNex CLI
Installation
Install the DashNex CLI globally using npm:
Verify your installation by checking the version:
dashnex versionEvery DashNex app also has the CLI available locally as a dependency, so you can run it withnpx dashnex inside a project folder without installing it globally.
Getting Started
Here's the typical workflow to get up and running:
# Authenticate with your DashNex account
dashnex login
# Pull an existing app to a local folder
dashnex app pull my-app
# Or create a new app
dashnex app create
# Start the local development server
dashnex dev
# Push and deploy your app
dashnex app push --deployHow Commands Are Discovered
The CLI ships with a core set of commands and then scans node_modules for every installed@dashnex/* module, loading any commands those modules expose. This means the exact command list depends on which modules your app has installed. Run dashnex with no arguments inside your project to see the full list for that specific app.
The commands documented below are the ones provided by the CLI itself and by the standard modules (@dashnex/core, @dashnex/ui, @dashnex/system) that are present in every app. Module authors can add their own — see CLI Commands in the module template wiki.
Global Options
These options work on any command:
| Option | Description |
|---|---|
-V, --version | Output the version number |
--ci | Disable spinners and interactive prompts (CI mode) |
-h, --help | Display help for a command |
Account
dashnex login
Authenticate with your DashNex account. When run without options, the CLI will interactively prompt for your credentials. You can also pass them directly for use in scripts or CI/CD.
| Option | Description |
|---|---|
--email <email> | Email address (skip prompt) |
--password <password> | Password (skip prompt) |
--code <code> | Two-factor authentication code (skip prompt) |
--business <id> | Business ID to select (skip prompt) |
Credentials are stored locally in .dashnex/settings.json. If you run this command in your home folder, the credentials will be valid for all subfolders.
dashnex logout
Log out of the current session and remove local credentials.
dashnex whoami
Show the currently logged-in business and user.
dashnex version
Display the version of the CLI.
App Management
These commands manage DashNex applications and should be executed inside an application folder.
dashnex app create
Create a new DashNex application. The CLI will guide you through configuring the app interactively, or you can pass options directly.
| Option | Description |
|---|---|
--subdomain <subdomain> | Subdomain for the app (CI mode, skips prompts) |
--pull | Automatically pull the app after creation, skipping the prompt |
--no-pull | Skip the pull prompt and just show the success message |
dashnex app pull [folder]
Pull an existing application into the specified folder. If no folder is given, the CLI prompts for one.
| Option | Description |
|---|---|
-y, --yes | Skip prompts and child commands (CI mode) |
dashnex app push
Push your local application to DashNex. Pre-push checks run first unless you opt out.
| Option | Description |
|---|---|
--deploy | Auto-deploy after push, skipping the prompt |
--no-deploy | Skip the deploy prompt |
--no-check | Skip pre-push checks |
-f, --force | Push even when the remote has changes you don't have locally |
-y, --yes | Skip prompts (CI mode) |
dashnex app deploy
Deploy the application to DashNex. Shows real-time progress so you can follow the deployment as it happens.
| Option | Description |
|---|---|
--no-check | Skip pre-deploy checks |
dashnex app status
Show the current application status.
dashnex app clear
Delete local dependencies, caches, and build output — useful when you want a clean slate. It removes node_modules, the Vite caches, the generated module registry at src/dashnex, and dist. Run dashnex install afterwards to set the application up again.
Run interactively, it lists exactly what will be deleted and asks you to confirm (the default is no), then asks separately whether to delete the local database at .wrangler as well — so your local data is kept unless you explicitly opt in.
| Option | Description |
|---|---|
-y, --yes | Skip all prompts (CI mode). Note that this deletes the local database along with everything else |
If a file can't be deleted because it's in use, stop dashnex dev and run the command again.
dashnex app tail
Stream live console and debug logs from the deployed worker. Press Ctrl+C to stop.
| Option | Description |
|---|---|
--level <level> | Minimum level to show: log, info, warn, error, debug |
--filter <regex> | Only show records whose args match this regex |
--debug | Also enable DEBUG=1 on the worker so debug-gated logs are shown |
dashnex app delete
Delete the application from DashNex. This action is irreversible.
| Option | Description |
|---|---|
-y, --yes | Skip confirmation prompt |
Development
dashnex install
Install dependencies using pnpm (preferred) or npm. Run this in a DashNex application folder.
dashnex dev
Run the development server. Run this in a DashNex application folder.
dashnex check
Run build-time validations. Run this in a DashNex application folder. This is the same check that runs automatically before app push and app deploy.
dashnex build
Build the static module — discovers installed @dashnex modules and generates the module registry, CSS imports, and worker configuration.
| Option | Description |
|---|---|
-o, --output <file> | Output directory for generated files (default: src/dashnex) |
dashnex bindings
Extract and merge bindings from all DashNex modules.
| Option | Description |
|---|---|
--json | Output bindings as JSON |
dashnex router
Display all registered routes and pages.
dashnex env
Display environment variables.
dashnex postinstall
Apply compatibility patches for third-party packages. This normally runs automatically as part of the project's postinstall script, so you rarely need to invoke it by hand.
Database
Database commands operate on the local database by default. Pass --remote to target the deployed database instead.
dashnex db create
Create the database, local or remote.
| Option | Description |
|---|---|
--remote | Create the remote database instead of the local one |
dashnex db migrate
Run all pending database migrations from installed @dashnex modules.
| Option | Description |
|---|---|
--remote | Run migrations on the remote database instead of the local one |
dashnex db execute [db]
Execute SQL against the application database. The optional positional argument is the database binding name, defaulting to CORE_DB.
| Option | Description |
|---|---|
--local | Execute against the local database (default) |
--remote | Execute against the deployed remote database |
--command <sql> | SQL string to execute |
--file <path> | Path to a .sql file to execute |
--json | Output raw JSON results |
dashnex db execute --command "SELECT * FROM users LIMIT 10" --jsondashnex db export [db]
Export the application database as a .sql file. The optional positional argument is the database binding name, defaulting to CORE_DB.
| Option | Description |
|---|---|
--local | Export the local database (default) |
--remote | Export the deployed remote database |
--output <path> | Destination .sql file (required) |
UI Components
Both ui commands accept --cwd <path> to run against a different working directory.
dashnex ui add <name>
Add a component from the shadcn registry into your project.
dashnex ui remove <name>
Remove a locally ejected component.
Secrets
Secrets are encrypted values bound to your deployed worker — use them for API keys and other credentials that shouldn't live in your source code.
dashnex secrets list
List all secret names bound to the worker. Values are never displayed.
dashnex secrets set [name] [value]
Create or update a secret. If you omit the name or value, the CLI prompts for them — the value prompt uses masked input.
| Option | Description |
|---|---|
--name <name> | Secret name (alternative to the positional argument) |
--value <value> | Secret value (alternative to the positional argument) |
dashnex secrets delete [name]
Delete a secret. If you omit the name, the CLI prompts for it.
| Option | Description |
|---|---|
--name <name> | Secret name (alternative to the positional argument) |
CI/CD Usage
Use the --ci flag in CI/CD environments to disable interactive spinners and prompts:
dashnex login --email "$DASHNEX_EMAIL" --password "$DASHNEX_PASSWORD" --business "$DASHNEX_BUSINESS" --ci
dashnex app push --deploy --yes --ciWhat You Can Build
With the DashNex CLI, you can build and deploy custom designs, integrations, and full-stack applications on top of your WebApp. The platform provides the foundation — authentication, payments, email, CRM, and more — while you focus on your unique product offering.
Developers can build entire SaaS products on top of the WebApp and combine the functionality of powerful modules like instraCHAT or UltraX Agent with their own custom product using Reseller Modules.