---
title: "Quickstart"
description: "Get started with Shelve in minutes."
canonical_url: "https://shelve.cloud/docs/getting-started/quickstart"
---
# Quickstart

> Get started with Shelve in minutes.

<steps level="3">

### Create an account

Sign up for a Shelve account on [Shelve](https://app.shelve.cloud) <prose-icon name="custom:shelve">



</prose-icon>

 . Or if you prefer to self-host, follow the instructions in the [Self-hosting](https://shelve.cloud/docs/self-hosting/vercel) guide. Once you have an account, complete the onboarding process to create your first team (workspace).

![login](https://shelve.cloud/docs/login.png)

### Install the Shelve CLI package

<code-group sync="pm">

```bash [pnpm]
pnpm add -D @shelve/cli
```

```bash [yarn]
yarn add -D @shelve/cli
```

```bash [npm]
npm install -D @shelve/cli
```

```bash [bun]
bun add -D @shelve/cli
```

</code-group>

<callout>

You can also install the CLI globally using the `-g / --global` flag of your package manager.

</callout>

### Connect the CLI to your account

Run the following command in your terminal:

```bash [terminal]
shelve login
```

This opens your browser so you can sign in to Shelve and authorize the CLI. Shelve creates a revocable CLI token automatically. For CI or scripts, use a [scoped API token](https://shelve.cloud/docs/core-features/tokens) with `SHELVE_TOKEN` or `shelve login --token "$SHELVE_TOKEN"` instead.

<card>
<accordion>
<accordion-item icon="i-lucide-badge-help" label="Can I use the CLI with my self-hosted instance?">

Before running the `shelve login` command, you can set the URL of your self-hosted instance in a manually created `shelve.json` file in the root of your project. The file should look like this:

```json [shelve.json]
{
  "url": "https://your-instance-url.com"
}
```

</accordion-item>

<accordion-item icon="i-lucide-users" label="Can i use the CLI with multiple accounts?">

No, the CLI only supports one account at a time. If you need to switch accounts, you will need to log out and log back in with the new account.

</accordion-item>

<accordion-item icon="i-lucide-refresh-cw" label="Can I use the CLI in a CI/CD pipeline, for example GitHub Actions?">

Yes. Create a scoped, expiring [API token](https://shelve.cloud/docs/core-features/tokens) and expose it as `SHELVE_TOKEN` in your CI secrets. The CLI reads it directly — no `shelve login` needed. Pair it with `shelve run -- <your command>` to inject variables without writing a `.env` file on the runner.

</accordion-item>

<accordion-item icon="i-lucide-search" label="What if I forget my token?">

If you forget your token, you can always generate a new one in your account settings on the [Shelve App](https://app.shelve.cloud/user/tokens).

</accordion-item>
</accordion>
</card>

<note to="https://shelve.cloud/docs/cli/create">

You can now start using the CLI to manage your secrets. Check out the [CLI documentation](https://shelve.cloud/docs/cli) for more information.

</note>
</steps>


## Sitemap

See the full [sitemap](https://shelve.cloud/sitemap.md) for all pages.
