NewDash Dots are hereMini apps in Dash, with payments built inLearn more

Developer Resources · CLI

Dash Dots

Create, run, build and publish Dash Dots with the CLI, from the simulator, phones and developer keys to registering, testers, releases and the Dot tools.

monime dot creates, runs, builds and publishes Dash Dots, mini apps that run inside Dash. It uses the Dot tools, which need Node.js 22.12 or newer.

This page covers the commands. To learn to build a dot, start with the developer overview.

Create and run a dot

Create a dot

Terminal
monime dot create my-dot

The CLI asks for the dot's name, its package name and a template, then offers to install its dependencies with the package manager of your choice. The starter template is one page to build on; the showcase template has a page for each feature. Pass them up front to skip the questions:

Terminal
monime dot create my-dot --name "My Dot" --template starter --pm pnpm

Run it in the simulator

Terminal
cd my-dot
monime dot dev

monime dot dev builds the dot, runs it in the browser simulator on port 3680 (or the next free port), and rebuilds it each time you save. Press Ctrl+C to stop.

Add --device to also serve the dot to phones on your local network, through a link and a QR code. Connected phones reload on each build. Dash opens the link only when it's signed with your developer key.

Add a page

From inside the dot:

Terminal
monime dot create page settings/profile

This adds pages/settings/profile/ with a view.dml view, a state.ts and a controller.ts, and lists the page in dot.ts.

Build it for release

Terminal
monime dot build

This builds the minified bundles Dash runs, and the archive it downloads, into dist/.

CommandFlags
monime dot create [DIR]--name NAME, --template starter|showcase, --pm npm|pnpm|yarn|bun
monime dot create page PATH—
monime dot dev [ROOT]--port PORT, --device, --out-dir DIR, --conditions LIST
monime dot preview [ROOT]--port PORT, --out-dir DIR, --conditions LIST. Runs the release build in the simulator, without rebuilding
monime dot build [ROOT]--out-dir DIR, --conditions LIST

--conditions adds comma-separated package export conditions to the build.

Developer keys

Dash opens a --device link only when it's signed with a developer key registered to your Monime account. Keys belong to your account, not a Space; the dots you build belong to their Spaces. See Run on a phone.

CommandWhat it does
monime dot keys create [--label LABEL]Create a key for this computer and register it
monime dot keys register [--label LABEL]Register a key this computer already has
monime dot keys listYour keys, with this computer's first
monime dot keys revoke [KEY_ID]Revoke this computer's key, or another one

Publish and release

A dot belongs to a Space, and these commands act on it as a member of the Space you work in: choose it with monime space use, or pass --space ID. Commands about one dot use the dot in the current folder, or --dot ID. See Publish and release.

CommandWhat it does
monime dot register [ROOT]Create the dot in the Space, once, and save its id in dot.json
monime dot publish [ROOT]Build, upload and publish a version. --subtitle, --description set the listing; --wait waits for Monime's checks and fails if the version is rejected
monime dot version listThe dot's versions and their states. --state STATE filters them
monime dot version describe VERSIONOne version's state, size, checks and review
monime dot tester add|list|remove [@DASHTAG]Manage who gets each new version first
monime dot release [VERSION]Give everyone a version, or roll back to an earlier one. --to testers points testers at a version
monime dot switch-off [VERSION]Stop Dash listing and opening the dot, or one version. Payments through it are refused. --note says why
monime dot switch-on [VERSION]Turn it back on
monime dot listThe Space's dots, and the versions testers and everyone get
monime dot describeOne dot's listing, versions and state
monime dot doctor [ROOT]Check your login, Space, Node.js, Dot tools, dot.json, registration and developer key

Editor support

monime dot lsp --stdio serves .dml files to your editor over the Language Server Protocol. Editors start it themselves once configured, so you rarely run it by hand.

Dot tools versions

Inside a dot, the CLI uses the version of the Dot tools that the dot depends on. Everywhere else, it uses its own copy, which it installs automatically the first time you need it.

CommandWhat it does
monime dot install [VERSION]Install the latest release of the Dot tools, or VERSION
monime dot updateUpdate the Dot tools to the latest release
monime dot update --checkShow the version in use, the one installed, the latest release and your Node.js version
monime dot uninstallRemove the Dot tools installed with monime dot install

Keep reading