---
title: Quick Start
description: From a clean machine to your first upload, entirely in the terminal.
---
> ## Documentation Index
> Fetch the complete documentation index at: https://docs.page/mhmzdev/appflight-cli-docs/llms.txt
> Use this file to discover all available pages before exploring further.

**Developers, continue here** — everything below happens in a terminal. **Testers**, you only need the
mobile app: see [Get the App](/get-the-app).

## 1. Install the CLI

The package is `appflight_cli`; the command it installs is `appflight`.

```bash
dart pub global activate appflight_cli
```

## 2. Create an account

```bash
appflight signup
```

Full name, email, and a password. You will be asked to accept the Terms and Privacy Policy, then a
verification link arrives by email — open it before the next step.

Already have an account? Skip to step 3.

## 3. Log in

```bash
appflight login
```

Your email and password. The CLI mints an API key for this machine and stores it for you — there is
nothing to copy and nothing to paste.

## 4. Register your app

```bash
appflight apps create --package com.myapp --name "My App"
```

An app has to exist on AppFlight before you can upload to it. If you skip this, step 5 offers to do it
for you.

## 5. Init your project

Run from your project root. The CLI will ask which framework you're using — or skip the prompt:

```bash
appflight init --project-type flutter
appflight init --project-type react-native
appflight init --project-type kotlin
```

**Flavored app:**

```bash
appflight init --flavors stage:com.myapp.stage,qa:com.myapp.qa,prod:com.myapp
```

The format is `flavorName:packageName` per flavor, comma-separated.

**No-flavor app:**

```bash
appflight init
```

You'll be prompted for the package name (applicationId).

This creates `appflight.json` in your project root. Commit it — it's shared with your team.

## 6. Build and upload

<Tabs groupId="framework">
  <TabItem label="Flutter" value="flutter">

    ```bash
    flutter build apk --flavor stage --release
    appflight upload --flavor stage
    ```

  </TabItem>
  <TabItem label="React Native" value="react-native">

    ```bash
    cd android && ./gradlew assembleStageRelease
    appflight upload --flavor stage
    ```

  </TabItem>
  <TabItem label="Kotlin" value="kotlin">

    ```bash
    ./gradlew assembleStageRelease
    appflight upload --flavor stage
    ```

  </TabItem>
</Tabs>

Your testers will be notified automatically.

---

**Next steps:**
- Set up [CI/CD](/ci/github-actions) so uploads happen automatically
- Read the [upload command reference](/commands/upload) for all flags
- Learn about [environment variables](/environment-variables) for CI
