# Projects & metadata

> Status: Beta

> For the complete documentation index, see [llms.txt](https://developer.rippling.com/llms.txt). Every page is available as Markdown by adding .md to its URL.

> Closed beta. Create and deploy local projects using the Rippling CLI.

Source: https://developer.rippling.com/documentation/rippling-platform/rippling-cli/projects-metadata

> **Rippling:**
> Access to the Rippling CLI is gated behind the **Developer Program**, which is currently in a closed beta.

## Projects

### `rippling project init`

Creates a project directory from a template.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--name` | string | yes | Name of the project directory to create. |
| `--template` | string | yes | Template. Allowed values: agent, custom-app. |

*Example:*

```bash
rippling project init --name my-app --template custom-app
```

### `rippling project validate`

Type-checks and executes `rippling.manifest.ts`, then shows the change plan. Run from the project directory after the project's Node dependencies are installed.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| — | — | — | No command-specific flags. |

*Example:*

```bash
rippling --context sandbox-editor project validate
```

### `rippling project deploy`

Deploys the components in `rippling.manifest.ts`.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--yes` | boolean | no | Skip the deployment confirmation prompt. |
| `--timeout` | duration | no | Maximum wait for the deployment run. Default is 5 minutes. |

*Example:*

```bash
rippling --context sandbox-editor project deploy --yes
rippling --context sandbox-editor project deploy --yes --timeout 5m
```

## Metadata

### `rippling api metadata validate`

Runs the same manifest check as `rippling project validate` on the metadata API. Run from the project directory after the project's Node dependencies are installed.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| — | — | — | No command-specific flags. |

*Example:*

```bash
rippling --context sandbox-editor api metadata validate
```

### `rippling api metadata deploy`

Deploys the components in `rippling.manifest.ts` through the metadata API.

| Flag | Type | Required | Description |
| --- | --- | --- | --- |
| `--yes` | boolean | no | Skip the deployment confirmation prompt. |
| `--timeout` | duration | no | Maximum wait for the deployment run. Default 5m. |

*Example:*

```bash
rippling --context sandbox-editor api metadata deploy --yes --timeout 5m
```
