Skip to content

CLI reference

The mint CLI ships with mint-sdk. This page enumerates every subcommand and flag, derived from mint_sdk/cli.py. For tutorials and getting-started usage, see /sdk/tutorials/.

Source: mint_sdk/cli.py and mint_sdk/cli_commands/.

Top-level

mint [--version] [--help] <command>
FlagEffect
--versionPrint the SDK version and exit
--helpShow top-level help

Platform commands

These talk to a running platform. Authenticate first with mint auth login.

mint status

Show platform health, version, and the current auth profile's user info.

bash
mint status

mint auth

Manage authentication tokens. Tokens are stored at ~/.config/mld/credentials.json.

SubcommandPurpose
mint auth login [--url URL] [--username USER]Interactive login; stores JWT
mint auth logoutDiscard the stored JWT
mint auth statusPrint current host + user
mint auth refreshRefresh the stored JWT

(Read mint_sdk/cli_commands/auth_cmd.py for the exact flag list.)

mint experiment

CRUD on experiments via the REST API.

SubcommandPurpose
mint experiment list [--status S] [--type T] [--project P] [--limit N] [--json]List experiments
mint experiment get <id>Show one experiment
mint experiment create --type T --name N [--project P]Create an experiment
mint experiment update <id> [--status S] [--name N]Update an experiment

(Read experiment_cmd.py for the exact flag list — flags evolve.)

mint project

CRUD on projects.

SubcommandPurpose
mint project list [--limit N] [--json]List projects
mint project get <id>Show one project
mint project create --name N [--description D]Create a project
mint project archive <id>Archive (reversible)

(Read project_cmd.py for the exact flag list.)

Develop commands

These act on a plugin project (run from the plugin's directory).

mint init

Scaffold a new plugin project.

bash
mint init [DIRECTORY] [flags]
FlagEffect
DIRECTORY (positional)Target directory (default .)
--name, -nPlugin name (human-readable)
--description, -dOne-line description
--type, -tPlugin type: analysis or experiment-design
--no-frontendSkip frontend scaffolding
--no-installSkip uv sync and bun install
--no-gitSkip git init
--forceAllow non-empty target directory
--ai-assistantComma-separated AI-assistant config files to scaffold (claude,codex,cursor,windsurf,none)
--yes, -yNon-interactive — accept all defaults (safe for CI/scripts)
--authorOverride git config user.name
--emailOverride git config user.email

Without --yes, missing fields are prompted interactively.

mint dev

Run the plugin in dev mode with hot reload.

bash
mint dev [flags]
mint dev <subcommand>     # see logs, below
FlagEffect
--port, -pBackend server port (default 8003)
--hostBackend host (default 127.0.0.1)
--no-frontendSkip the Vite dev server
--platformAlso start a local platform process and configure dev proxy
--platform-dirPath to platform directory (otherwise auto-detected)
--prefixOverride the routes prefix for the dev proxy

Stop with Ctrl+C.

mint dev logs

Tail logs from a running plugin process.

FlagEffect
--followStream new lines as they appear
--lines NShow the last N lines
--listList the available log streams
--clearRemove the log files

mint build

Package the plugin into a .mld bundle.

bash
mint build [PATH] [flags]
FlagEffect
PATH (positional)Plugin project directory (default .)
--no-frontendSkip the frontend build step
--vendor-depsInclude dependency wheels in the bundle (opt-in)
--output-dirOutput directory (default dist)

Output: dist/<name>-<version>.mld. Note the .mld extension.

mint doctor

Validate the plugin's project structure.

bash
mint doctor [PATH] [flags]
FlagEffect
PATH (positional)Plugin project directory (default .)
--depsCheck platform-core dependency alignment
--fixFix misaligned deps (requires --deps)

mint info

Print the plugin's PluginMetadata.

bash
mint info [PATH] [--json]

mint docs

Browse SDK reference documentation.

bash
mint docs [path...] [--json] [--no-cache] [--clear-cache]

path... is a series of positional segments: [python|frontend] [category] [item]. With no path, opens the docs index.

Develop / SDK sub-app

The sdk sub-app manages the plugin's SDK pin.

Link to a local SDK checkout for editable development.

bash
mint sdk link [--sdk-path PATH]

Restore the published SDK versions.

bash
mint sdk unlink

mint sdk update

Refresh SDK pins.

bash
mint sdk update [--scope patch|minor|major] [--dry-run] [--no-sync]

--scope controls the maximum version-bump kind allowed; --dry-run previews; --no-sync skips the post-update lockfile sync.

Configuration files

PathPurpose
~/.config/mld/credentials.jsonPer-user JWT storage (written by mint auth login)
<plugin>/pyproject.tomlPlugin dependencies, entry points, build config
<workspace>/MINT/config.dev.tomlDev proxy mapping (created by mint dev --platform)

Notes

  • The mint CLI is the user-facing binary; mint_sdk.cli:main is the entry point. Don't import the CLI module from your plugin code.
  • For programmatic platform access, use MINTClient — the CLI itself uses it under the hood.
  • The CLI's name field in Typer help may still display "mld" during the rebrand transition; the binary name and behavior are mint.

MINT is open source. Made by the Morscher Lab.