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

# Quickstart

> Sideload the GlobalTV Roku channel onto a real device in under five minutes.

This guide walks you through enabling developer mode on your Roku, building the channel zip, and sideloading it — from a fresh clone to a running app.

<Note>
  **Windows users:** The Makefile uses Unix commands (`rm`, `grep`, `sed`). Use [Git Bash](https://git-scm.com/downloads) (which already includes `make`, `zip`, and `curl`) or install the tools with [Chocolatey](https://chocolatey.org): `choco install make zip curl`.
</Note>

<Steps>
  <Step title="Enable developer mode on your Roku">
    On your Roku remote, enter the following sequence:

    ```text theme={null}
    Home × 3  →  Up × 2  →  Right  Left  Right  Left  Right
    ```

    A **Developer Settings** screen appears. Select **Enable Installer and Restart**. After the device reboots, it shows the developer web interface address (e.g., `http://192.168.1.XX`). You will be prompted to set a developer password — note it down; you'll need it as `ROKU_PASS`.
  </Step>

  <Step title="Clone the repository">
    ```bash theme={null}
    git clone https://github.com/GlobalFiberTV/GlobalTV_Roku.git
    cd GlobalTV_Roku
    ```
  </Step>

  <Step title="Install prerequisites">
    The build requires `make`, `zip`, and `curl`. Install them for your OS:

    <Tabs>
      <Tab title="macOS">
        ```bash theme={null}
        brew install make zip curl
        ```

        `make` and `curl` are also available via Xcode Command Line Tools:

        ```bash theme={null}
        xcode-select --install
        ```
      </Tab>

      <Tab title="Linux (Debian/Ubuntu)">
        ```bash theme={null}
        sudo apt-get update && sudo apt-get install -y make zip curl
        ```
      </Tab>

      <Tab title="Windows">
        **Option A — Git Bash (recommended):** Download and install [Git for Windows](https://git-scm.com/downloads). Git Bash includes `make`, `zip`, and `curl` out of the box.

        **Option B — Chocolatey:**

        ```bash theme={null}
        choco install make zip curl
        ```

        Run the `make` commands from Git Bash or a terminal that has these tools on the PATH.
      </Tab>
    </Tabs>
  </Step>

  <Step title="Build the channel zip">
    From the repository root, run:

    ```bash theme={null}
    make zip
    ```

    This packages `manifest`, `source/`, `components/`, and `images/` into:

    ```text theme={null}
    out/GlobalTV.zip
    ```

    The `manifest` file is placed at the root of the zip, which is required by Roku.
  </Step>

  <Step title="Sideload to your Roku">
    Replace `x.x.x.x` with your Roku's IP address and `xxxx` with the developer password you set in step 1:

    ```bash theme={null}
    make install ROKU_IP=x.x.x.x ROKU_PASS=xxxx
    ```

    This command builds the zip (if not already built) and POSTs it to your Roku's plugin installer at `http://<ROKU_IP>/plugin_install`. The terminal prints the HTTP status code and the install result.

    A successful run looks like:

    ```text theme={null}
    >>> [install] HTTP 200
    >>> [install] Resultado: Install Success
    >>> [install] Listo. Revisar el Roku.
    ```
  </Step>

  <Step title="Verify the install">
    Check two places after a successful sideload:

    1. **Your Roku TV:** The GlobalTV channel launches automatically on the device after installation. You should see the splash screen followed by the onboarding or login screen.

    2. **`out/_install_response.html`:** Open this file in a browser to read the full HTML response from the Roku installer.

    <Tip>
      In `_install_response.html`, search for `Install Success` to confirm the upload was accepted. If you see `Install Failure` or `Failed`, check that the zip is valid (`make zip` completed without errors), the IP and password are correct, and the Roku is on the same network as your machine. The page also shows a `build_version` confirmation — increment `build_version` in the `manifest` file before each new sideload so the Roku treats it as a fresh install rather than an identical package.
    </Tip>
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="Makefile targets" icon="hammer" href="/build/makefile-targets">
    Explore all available build commands, including `make pkg` for Channel Store packaging and `make screenshot`.
  </Card>

  <Card title="Packaging for the Channel Store" icon="box" href="/build/packaging">
    Generate a signed `.pkg` file using `genkey` and `make pkg`.
  </Card>

  <Card title="Manifest reference" icon="file-lines" href="/configuration/manifest">
    Understand every field in the `manifest` file and Roku certification requirements.
  </Card>

  <Card title="Certification checklist" icon="circle-check" href="/build/certification">
    Run `make check` and review what Roku requires before Channel Store submission.
  </Card>
</CardGroup>
