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

# Prerequisites

> Required tools and accounts for Soundcheck development.

Before you begin developing on Soundcheck, ensure you have the following tools and accounts set up.

## Required Tools

### All Development

| Tool | Version | Purpose |
| - | - | - |
| Git | Latest | Version control |
| Node.js | 20+ | JavaScript runtime |
| npm | Included with Node | Package manager |

> [!TIP]
>
> We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage Node.js versions.

### Mobile Development

| Tool | Required For | Installation |
| - | - | - |
| Xcode | iOS development | [Mac App Store](https://apps.apple.com/app/xcode/id497799835) |
| Android Studio | Android development | [Download](https://developer.android.com/studio) |
| Watchman | Metro bundler performance | `brew install watchman` |
| CocoaPods | iOS dependencies | `brew install cocoapods` |

> [!NOTE]
>
> **iOS development requires macOS.** Android development works on macOS, Windows, and Linux.

### Web Development

| Tool | Purpose |
| - | - |
| Node.js 20+ | Runtime |
| npm/yarn/pnpm | Package manager |

No additional tools required for web development.

### API Development

| Tool | Purpose | Installation |
| - | - | - |
| Docker Desktop | Container runtime | [Download](https://www.docker.com/products/docker-desktop) |
| Go 1.24+ | Go development | [Download](https://go.dev/dl/) (optional for Docker-only) |
| PostgreSQL client | Database access | `brew install libpq` |

> [!NOTE]
>
> Go is only required if you want to run the API outside of Docker.

### Infrastructure Development

| Tool | Purpose | Installation |
| - | - | - |
| Terraform | Infrastructure as Code | [Download](https://www.terraform.io/downloads) |
| Azure CLI | Azure management | [Download](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) |

***

## Required Accounts

### For All Developers

| Service | Purpose | Access |
| - | - | - |
| GitHub | Repository access | Request from team lead |
| Clerk | Authentication testing | Shared dev credentials |

### For Mobile Developers

| Service | Purpose | Access |
| - | - | - |
| Expo | Build and deployment | Create account at [expo.dev](https://expo.dev) |
| Apple Developer | iOS testing/deployment | Team enrollment (\$99/year) |
| Google Play Console | Android deployment | Team access |

### For API/Infrastructure Developers

| Service | Purpose | Access |
| - | - | - |
| Azure | Cloud resources | Request access via onboarding workflow |

***

## Environment Setup Checklist

Use this checklist to ensure your environment is ready:

### Mobile Development

* [ ] Node.js 20+ installed
* [ ] npm/yarn available
* [ ] Git configured with SSH key
* [ ] (iOS) Xcode installed with simulator
* [ ] (iOS) Xcode Command Line Tools installed
* [ ] (iOS) CocoaPods installed
* [ ] (Android) Android Studio with emulator
* [ ] Expo account created
* [ ] Repository cloned

### Web Development

* [ ] Node.js 20+ installed
* [ ] Git configured
* [ ] Repository cloned
* [ ] `.env.local` configured

### API Development

* [ ] Docker Desktop installed and running
* [ ] Git configured
* [ ] Repository cloned
* [ ] `.env` configured with team credentials

### Infrastructure Development

* [ ] Terraform installed
* [ ] Azure CLI installed
* [ ] Azure account provisioned
* [ ] VPN access configured

***

## Verifying Installation

### Node.js and npm

```bash theme={null}
node --version   # Should show v20.x.x or higher
npm --version    # Should show 10.x.x or higher
```

### Git

```bash theme={null}
git --version    # Should show git version 2.x.x
```

### Docker

```bash theme={null}
docker --version           # Should show Docker version 24.x.x or higher
docker compose version     # Should show Docker Compose version v2.x.x
```

### Xcode (macOS)

```bash theme={null}
xcode-select -p            # Should show /Applications/Xcode.app/Contents/Developer
xcrun simctl list devices  # Should list available simulators
```

### Android

```bash theme={null}
$ANDROID_HOME/emulator/emulator -list-avds  # Should list available AVDs
```

### Terraform

```bash theme={null}
terraform --version  # Should show Terraform v1.x.x
```

### Azure CLI

```bash theme={null}
az --version  # Should show azure-cli 2.x.x
```

***

## Next Steps

> [card] [Environment Setup](https://docs.soundchecklive.io/engineering/development/environment-setup.md)
>
> Configure your development environment with the right settings


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.