# Quickstart

Get started with Shelve in minutes.

### [Create an account](/content/docs/getting-started/quickstart#create-an-account/index.html)

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

### [Install the Shelve CLI package](/content/docs/getting-started/quickstart#install-the-shelve-cli-package/index.html)

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

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

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

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

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

### [Connect the CLI to your account](/content/docs/getting-started/quickstart#connect-the-cli-to-your-account/index.html)

You will need a token to authenticate the CLI with your account. You can generate a token in your account settings on the [Shelve App](https://app.shelve.cloud/user/tokens). Once you have your token, run the following command in your terminal:

```bash
shelve login
```

This will prompt you to enter your token. Once you have entered your token, you will be logged in and ready to use the CLI.

### 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
{
  "url": "https://your-instance-url.com"
}
```

### 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.

### Can I use the CLI in a CI/CD pipeline, for example GitHub Actions?

Yes. Create a scoped, expiring [API token](/content/docs/core-features/tokens/index.html) 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.

### 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).

You can now start using the CLI to manage your secrets. Check out the [CLI documentation](/content/docs/cli/index.html) for more information.
