---
title: "turbo gen"
description: Turborepo CLI Reference for gen command
---

import { Callout } from "../../../../../components/Callout";

# `turbo gen`

<Callout>
  **Warning**: This is an experimental command, so its name and behavior can change.
</Callout>

Extend your Turborepo with new apps, and packages. Create new empty workspaces, copy existing workspaces, add workspaces from remote sources or run custom generators defined using Plop configurations.

**Note:** The default command for `generate` is [run](#run-generator-name).

### `workspace`

Add a new package or app to your monorepo.

#### Options

##### `--name`

The name for the new workspace

##### `--empty`

Generate an empty workspace (default: `true`)

##### `--copy [source]`

Generate a workspace using an existing workspace as a template.
Can be the name of a local workspace within your monorepo, or a fully qualified GitHub URL with any branch and/or subdirectory.

##### `--destination`

Where the new workspace should be created

##### `--type`

The type of workspace to create (`app` or `package`)

##### `--root`

The root of your repository (default: directory with _root_ `turbo.json`)

##### `--example-path / -p`

In a rare case, your GitHub URL might contain a branch name with a slash (e.g. `bug/fix-1`) and the path to the example (e.g. `foo/bar`).
In this case, you must specify the path to the example separately: `--example-path foo/bar`

##### `--show-all-dependencies`

When selecting dependencies to add to your new workspace, do not filter available dependencies by the selected workspace type (`app` or `package`)

### `run [generator-name]`

Run custom generators within your monorepo. Optionally specify a generator name to directly run a specific generator.

#### Options

##### `--config`

Generator configuration file (default: `turbo/generators/config.js`)

##### `--root`

The root of your repository (default: directory with _root_ `turbo.json`)

##### `--args`

Prompt answers passed directly to generator
