CLI Reference
This document serves as a reference to the Medusa CLI tool including how to install it and what commands are available.
Overview
The Medusa CLI serves as a tool that allows you to perform important commands while developing with Medusa.
To use Medusa, it is required to install the CLI tool as it is used to create a new Medusa server.
How to Install CLI Tool
To install the CLI tool, run the following command in your terminal:
- npm
- Yarn
npm install @medusajs/medusa-cli -g
yarn global add @medusajs/medusa-cli
The CLI tool is then available under the medusa
command. You can see all commands and options with the following command:
medusa --help
Common Options
The following options can be used with all available commands.
--help
Learn more about what you can do with the CLI tool or with a specific command.
Alias: -h
medusa new --help
--verbose
Turn on verbose output for detailed logs.
Default: false
medusa new test-server --verbose
--no-color
Turn off colors in the output.
Alias: --no-colors
Default: false
medusa new test-server --no-color
--json
Turn on JSON logger.
Default: false
medusa new test-server --json
--version
If used inside a Medusa project, the version of the Medusa CLI and Medusa project is shown. Otherwise, the version of the Medusa CLI is shown.
Alias: -v
medusa --version
Available Commands
new
Create a new Medusa server.
medusa new [<server_name> [<starter_url>]]
Arguments
Name | Description | Default |
---|---|---|
server_name | The name of the Medusa server. It will be used as the name of the directory created. | If not provided, you’ll be prompted to enter it. |
starter_url | The URL of the starter to create the server from. | The default starter is used. |
Options
Name | Description |
---|---|
--seed | If the flag is set the command will attempt to seed the database after setup. |
-y , --useDefaults | If the flag is set the command will not interactively collect database credentials. |
--skip-db | If the flag is set the command will not attempt to complete the database setup. |
--skip-migrations | If the flag is set the command will not attempt to complete the database migration. |
--skip-env | If the flag is set the command will not attempt to populate .env. |
--db-user | The database user to use for database setup and migrations. |
--db-database | The database used for database setup and migrations. |
--db-pass | The database password to use for database setup and migrations. |
--db-port | The database port to use for database setup and migrations. |
--db-host | The database host to use for database setup and migrations. |
develop
Start development server. This command watches files for any changes to rebuild the files and restart the server.
medusa develop
Options
Name | Description |
---|---|
-H , --host | Set host. Defaults to localhost. |
-p , --port | Set port. Defaults to 9000. |
start
Start development server. This command does not watch for file changes or restart the server.
medusa start
Options
Name | Description |
---|---|
-H , --host | Set host. Defaults to localhost. |
-p , --port | Set port. Defaults to 9000. |
migrations
Migrate the database to the most recent version.
medusa migrations <action>
Arguments
Name | Description | Default |
---|---|---|
action | The action to perform. Values can be run , show , or revert . run is used to run the migrations; show is used to only show what migrations are available to run; and revert is to undo the last migration. | This argument is required and does not have a default value. |
seed
Migrates and populates the database with the provided file.
medusa seed --seed-file=<file_path>
Options
Name | Description |
---|---|
-f , --seed-file | Path to the file where the seed is defined. (required) |
-m , --migrate | Flag to indicate if migrations should be run prior to seeding the database. Default is true. |
user
Creates a new admin user.
medusa user --email <email> [--password <password>]
Options
Name | Description |
---|---|
-e , --email | The email to create a user with. (required) |
-p , --password | The password to use with the user. If not included, the user will not have a password. |
-i , --id | The user’s ID. By default it is automatically generated. |
telemetry
Enable or disable the collection of anonymous data usage. If no option is provided, the command will enable the collection of anonymous data usage.
medusa telemetry
Options
Name | Description |
---|---|
--enable | Enable telemetry (default) |
--disable | Disable telemetry |
What’s Next 🚀
- Learn more about anonymous usage data collection.
- Learn how to configure your Medusa server.