Setup Guide

Add over-the-air code-push to any Flutter app in minutes. No App Store review for Dart code changes.

Prerequisites
A Flutter app (Android or iOS) with the Flutter SDK installed
Dart SDK installed (dart --version should work in your terminal)
A QuickPatch account - sign in with Google to create one instantly
Platforms: the CLI runs on macOS, Linux, and Windows. Android releases work on all three; iOS releases require macOS (Apple toolchain).

Get your API key

Sign in with Google on the dashboard. An API key (qp_api_…) is issued automatically - find it in the API Keys tab. You'll paste it into the CLI in step 2.

Part 1 - New Flutter app setup
1
Install the QuickPatch CLI

Pick whichever you prefer - both install the same CLI.

Option A - pub.dev (requires the Dart SDK)

dart pub global activate quickpatch_cli

Make sure ~/.pub-cache/bin is on your PATH (Dart usually adds this automatically). Open a new terminal, then run quickpatch --version to confirm.

Option B - standalone installer (macOS / Linux)

curl -fsSL https://raw.githubusercontent.com/letssuhail/quickpatch-cli/main/install/install.sh | bash

Windows (PowerShell): irm https://raw.githubusercontent.com/letssuhail/quickpatch-cli/main/install/install.ps1 | iex. Installs into ~/.quickpatch; add ~/.quickpatch/bin to your PATH (the installer prints the line). Update later with quickpatch upgrade.

Prefer a pre-built binary? Download it from the GitHub Releases page.

2
Log in and point the CLI at your server

Authenticate with your API key from the dashboard:

quickpatch login

Paste your qp_api_… key when prompted. Credentials are saved to disk so you only need to do this once per machine.

Then set your server URL - macOS / Linux

export QUICKPATCH_HOSTED_URL="https://api.quickpatch.dev"

Add to ~/.zshrc or ~/.bashrc to make it permanent, then source ~/.zshrc.

Windows (PowerShell)

$env:QUICKPATCH_HOSTED_URL = "https://api.quickpatch.dev"

To make it permanent: setx QUICKPATCH_HOSTED_URL "https://api.quickpatch.dev" (then reopen the terminal).

QUICKPATCH_HOSTED_URL is reused automatically for engine downloads - no other URL needed.
3
Initialize QuickPatch in your app

Inside your Flutter project folder:

cd your_flutter_app/
quickpatch init

Registers the app on your server and writes quickpatch.yaml (app ID + server URL). Commit this file.

base_url is filled in automatically from QUICKPATCH_HOSTED_URL - it tells your users' apps where to fetch patches.

4
(Existing app only) Add the updater package

New apps already work. To control updates from Dart in an existing app, add the package:

flutter pub add quickpatch_code_push

With auto_update: true (default) updates download automatically on launch - no Dart code needed. Add the package only for manual control:

import 'package:quickpatch_code_push/quickpatch_code_push.dart';

final _updater = QuickPatchUpdater();

void main() async {
  // Check for update in background - non-blocking
  final status = await _updater.checkForUpdate();
  if (status == UpdateStatus.outdated) {
    await _updater.update();
  }

  runApp(const MyApp());
}