> ## Documentation Index
> Fetch the complete documentation index at: https://docs.boxpressd.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install the Boxpressd Sites SDK from GitHub Packages.

The Boxpressd Sites SDK is currently distributed through GitHub Packages.

Before installing the SDK, you'll need access to the Boxpressd GitHub package registry and a GitHub Personal Access Token (PAT) with permission to download packages.

## Prerequisites

Before installing, ensure you have:

* Node.js 18+
* npm, pnpm, or yarn
* A GitHub account
* Access to the Boxpressd SDK package repository
* A GitHub Personal Access Token (PAT)

## Generate a GitHub Personal Access Token

1. Sign in to GitHub.
2. Navigate to **Settings → Developer Settings → Personal Access Tokens**.
3. Create a new token.
4. Grant the following permissions:

| Permission | Required |
| - | - |
| `read:packages` | Yes |
| `repo` | Required if the package is hosted in a private repository |

5. Copy the generated token and store it securely.

<Tip>
  Never commit GitHub Personal Access Tokens to source control. Use environment variables whenever possible.
</Tip>

## Configure GitHub Packages

Create or update an `.npmrc` file in your project root:

```bash theme={null}
@boxpressd:registry=https://npm.pkg.github.com

//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
```

Alternatively, you can place this configuration in your global `.npmrc` file.

## Set Your Token

Export your GitHub token as an environment variable.

<CodeGroup>
  ```bash Linux / macOS theme={null}
  export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
  ```

  ```powershell Windows PowerShell theme={null}
  $env:GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxx"
  ```

  ```cmd Windows Command Prompt theme={null}
  set GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
  ```
</CodeGroup>

## Install the SDK

<CodeGroup>
  ```bash npm theme={null}
  npm install @boxpressd/sites-sdk
  ```

  ```bash pnpm theme={null}
  pnpm add @boxpressd/sites-sdk
  ```

  ```bash yarn theme={null}
  yarn add @boxpressd/sites-sdk
  ```
</CodeGroup>

## Verify Installation

Create a simple test component:

```tsx theme={null}
import { BoxpressdButton } from "@boxpressd/sites-sdk"

export default function TestPage() {
  return (
    <BoxpressdButton>
      Boxpressd SDK Loaded
    </BoxpressdButton>
  )
}
```

If your application compiles successfully and the component renders, the SDK has been installed correctly.

## Peer Dependencies

The SDK expects the following peer dependencies:

```json theme={null}
{
  "react": "^18.0.0",
  "react-dom": "^18.0.0",
  "lucide-react": "^0.0.0"
}
```

Most modern React and Next.js applications already satisfy these requirements.

## Next Steps

Now that the SDK is installed:

1. Obtain a Boxpressd API key.
2. Configure the `BoxpressdProvider`.
3. Connect your website to a venue or brand.
4. Start using Boxpressd components and data APIs.

Continue to the Authentication guide to learn how API keys and business access work.
