Ember CLI provides a comprehensive set of command-line tools for Ember.js development. All commands follow the pattern ember <command> [options] and can be accessed globally after installing ember-cli.
Creates a new directory and runs ember init in it to scaffold an Ember.js application.
ember new <app-name> [options]
# Available options:
--dry-run, -d # Run without making changes
--verbose, -v # Verbose output
--blueprint, -b # Blueprint to use (default: app)
--skip-npm, --sn # Skip npm install
--skip-git, --sg # Skip git init
--no-welcome # Skip ember-welcome-page
--package-manager # npm, pnpm, or yarn
--directory, --dir # Directory name
--lang # Base human language
--lint-fix # Enable lint fixing (default: true)
--embroider # Use Embroider build system
--ci-provider # CI provider: github or none
--ember-data # Include ember-data (default: true)Usage Examples:
# Create new app with default settings
ember new my-ember-app
# Create app without ember-data and welcome page
ember new my-app --no-ember-data --no-welcome
# Create app with Embroider and pnpm
ember new my-app --embroider --package-manager=pnpm
# Create addon instead of app
ember new my-addon --blueprint=addonCreates a new ember app in the current directory (doesn't create a new directory).
ember init [options]
# Same options as ember new, but doesn't create directoryGenerates a new folder structure for building an Ember CLI addon.
ember addon <addon-name> [options]
# Available options:
--dry-run, -d # Run without making changes
--verbose, -v # Verbose output
--skip-npm, --sn # Skip npm install
--skip-git, --sg # Skip git init
--directory, --dir # Directory name
--package-manager # npm, pnpm, or yarn
--lang # Base human language
--lint-fix # Enable lint fixing
--ci-provider # CI provider: github or noneBuilds and serves your app, rebuilding on file changes with live-reload.
ember serve [options]
ember server [options] # alias
ember s [options] # alias
# Available options:
--port, -p # Port number (default: 4200 or $PORT)
--host, -H # Host interface
--proxy, --pr # Proxy URL for API requests
--proxy-in-timeout # Incoming request timeout (default: 120000ms)
--proxy-out-timeout # Outgoing request timeout (default: 0)
--secure-proxy # Proxy self-signed SSL (default: true)
--transparent-proxy # Transparent proxy mode (default: true)
--live-reload # Enable live reload (default: true)
--live-reload-host # Live reload host
--live-reload-port # Live reload port (default: 35729)
--environment, -e # Build environment
--output-path, -o # Output directory
--watch, -w # Enable file watching
--watcher # Watcher type
--suppress-sizes # Don't show asset sizesUsage Examples:
# Start development server on default port
ember serve
# Serve on specific port and host
ember serve --port 3000 --host 0.0.0.0
# Serve with API proxy
ember serve --proxy http://localhost:8080/api
# Serve production build
ember serve --environment productionBuilds your app and places it in the output path (dist/ by default).
ember build [options]
ember b [options] # alias
# Available options:
--environment, -e # Environment: development, production, test
--output-path, -o # Output directory (default: dist/)
--watch, -w # Watch for changes
--watcher # Watcher type
--suppress-sizes # Don't show asset sizes in productionUsage Examples:
# Development build
ember build
# Production build
ember build --environment production
# Build to custom directory
ember build --output-path build/
# Watch mode build
ember build --watchGenerates new code from blueprints such as components, routes, services, etc.
ember generate <blueprint> [name] [options]
ember g <blueprint> [name] [options] # alias
# Available options:
--dry-run, -d # Show what would be generated
--verbose, -v # Verbose output
--pod, -p # Use pod structure
--classic, -c # Use classic structure
--dummy # Generate in dummy app (for addons)
--in-repo-addon, --ir # Generate in specified in-repo addonUsage Examples:
# Generate component
ember generate component user-profile
# Generate route with model
ember generate route users
# Generate service
ember generate service auth
# Generate with pod structure
ember generate component user-card --pod
# See what would be generated
ember generate component my-component --dry-runDestroys code generated from blueprints (opposite of generate).
ember destroy <blueprint> [name] [options]
ember d <blueprint> [name] [options] # alias
# Same options as generate commandRuns your app's test suite using Testem.
ember test [options]
ember t [options] # alias
# Available options:
--environment, -e # Test environment
--config-file, -c # Testem config file
--server # Keep test server running
--host # Test server host
--test-port # Test server port
--filter, -f # Filter tests by string
--module, -m # Run specific test module
--skip-cleanup # Skip cleanup after tests
--timeout # Test timeout
--path # Test path
--query # Additional query params
--reporter # Test reporter
--test-page # Test page URL
--launch # Launch specific browsers
--silent # Silent output
--testem-debug # Testem debug modeUsage Examples:
# Run all tests
ember test
# Run tests in specific browser
ember test --launch Chrome
# Filter tests by name
ember test --filter "user profile"
# Keep test server running
ember test --server
# Run tests with custom reporter
ember test --reporter tapInstalls an ember-cli addon from npm and runs its default blueprint.
ember install <addon-name> [options]
ember i <addon-name> [options] # alias
# Available options:
--save-dev # Save to devDependencies
--save-exact # Save exact version
--save # Save to dependencies (default)
--package-manager # npm, pnpm, or yarnUsage Examples:
# Install addon
ember install ember-cli-sass
# Install as dev dependency
ember install ember-cli-mirage --save-dev
# Install with pnpm
ember install ember-data --package-manager=pnpmOutputs usage instructions for all commands or a specific command.
ember help [command] [options]
ember h [command] [options] # alias
ember --help [command] # alias
ember -h [command] # alias
# Available options:
--verbose, -v # Verbose help output
--json # Output help as JSONUsage Examples:
# Show all commands
ember help
# Show help for specific command
ember help generate
# Get verbose help
ember help build --verbose
# Get help as JSON
ember help --jsonOutputs ember-cli version information.
ember version [options]
ember v [options] # alias
ember --version # alias
ember -v # alias
# Available options:
--verbose # Show additional version infoShows asset sizes for your built app.
ember asset-sizes [options]
# Available options:
--output-path, -o # Path to built app (default: dist/)These options are available on most commands:
--dry-run, -d: Preview changes without executing--verbose, -v: Show detailed output--silent: Minimize output--help, -h: Show command helpBuild-related commands support:
--environment, -e: Set build environment (development, production, test)--output-path, -o: Specify output directory--watch, -w: Enable file watchingCommands that install dependencies support:
--package-manager: Choose npm, pnpm, or yarn--skip-npm, --sn: Skip dependency installationEmber CLI commands return appropriate exit codes:
0: Success1: General error2: Misuse of shell commandCommands also provide helpful error messages and suggestions for common issues like missing dependencies, invalid project structure, or network problems.
Ember CLI's command system is extensible through addons. Addons can:
commands/ directoryCommands are automatically discovered and loaded from the project's addons, making the CLI highly customizable for different workflows and project needs.