ReleasePilot

Deterministic orchestration of white-label app builds.
Control, predictability, and conscious automation for complex release flows.

What is ReleasePilot?

ReleasePilot is an assisted release orchestrator designed to coordinate yarn commands in a deterministic, auditable, and controlled way. It was created for teams managing white-label applications, where each release varies by platform, contractor, and environment.

ReleasePilot does not implement build logic.
It orchestrates existing commands — with intention, order, and checkpoints.

Core Concept

ReleasePilot executes commands following a strict naming convention:

yarn {platform}:{contractor}:{environment}:{command}

Example:

yarn android:quickup:beta:build

All low-level logic lives in package.json or scripts called by it. ReleasePilot’s responsibility is to organize, order, and operate.

Project Structure

project-root/
├─ contractor/
│  ├─ quickup/
│  │  ├─ sandbox/
│  │  │  └─ config.json
│  │  ├─ beta/
│  │  │  └─ config.json
│  │  └─ prod/
│  │     └─ config.json
│  ├─ kompa/
│  │  ├─ sandbox/
│  │  └─ beta/
│  └─ sp/
│     └─ beta/
├─ package.json
└─ ...

These directories may be empty, but are intended to hold configuration, assets, or environment-specific parameters. The structure itself acts as a source of truth.

Defining Yarn Scripts

{
  "scripts": {
    "android:quickup:sandbox:add": "echo 'Preparing Android QuickUp Sandbox'",
    "android:quickup:sandbox:build": "echo 'Building Android QuickUp Sandbox'",
    "android:quickup:sandbox:deploy": "echo 'Deploying Android QuickUp Sandbox'",

    "ios:quickup:sandbox:add": "echo 'Preparing iOS QuickUp Sandbox'",
    "ios:quickup:sandbox:build": "echo 'Building iOS QuickUp Sandbox'",
    "ios:quickup:sandbox:deploy": "echo 'Deploying iOS QuickUp Sandbox'"
  }
}

Scripts should be deterministic and focused. ReleasePilot does not replace them — it coordinates them.

Installation

pip3 install release-pilot

The tool is executed directly via the terminal. There is no --help; interaction happens through an interactive menu.

Using ReleasePilot

release-pilot

The tool will prompt you to select:

Execution Plan & Assisted Flow

Before execution, ReleasePilot displays the full execution plan in the exact order it will run.

      
        yarn android:quickup:beta:add
        yarn android:quickup:beta:build
        yarn ios:quickup:beta:add
        yarn ios:quickup:beta:build
      
    

During execution, the process pauses between environments and contractors, awaiting explicit human confirmation.

Final Release Summary

      
        Release Summary
        Project      : RELEASEPILOT
        Version      : main
        Contractors : quickup, kompa
        Environments: beta
        Platforms   : android, ios
        Commands    : 4
      
    

This summary enables auditability, traceability, and clear communication with stakeholders.