Skip to main content

Expo/EAS build commands for Takopi

Project description

takopi-expo

Build Expo / EAS React Native apps from Takopi commands and return install links.

This plugin is intentionally strict about Takopi configuration: it will refuse commands unless the target repo is registered under [projects.<name>] and has an explicit [plugins.expo.projects.<name>] entry.

quickstart

Install takopi + plugin (same environment as your transport):

uv tool install -U takopi --with takopi-expo

Add config to ~/.takopi/takopi.toml:

[plugins]
enabled = ["takopi-expo"]

[plugins.expo]
# global defaults
default_platform = "all"          # ios | android | all
default_profile = "development"   # development | preview | production
non_interactive = true
wait = true

[projects.zkp2p-mobile]
path = "/home/ubuntu/zkp2p/zkp2p-mobile"
worktrees_dir = ".worktrees"

[plugins.expo.projects.zkp2p-mobile]
# per-project overrides (required)
# optional: map to package.json scripts
build_dev = "build:dev"
build_ios = "build:ios"
build_android = "build:android"

Set EXPO_TOKEN in the environment (or plugins.expo.expo_token in takopi.toml) for non-interactive EAS builds.

server setup (remote EAS builds)

takopi-expo uses eas build on Expo's servers, so it works on Linux without Xcode. You still need Expo credentials configured in your Expo account.

  1. Install EAS CLI on the server (or set eas_bin in config).
npm install -g eas-cli
  1. Create an Expo access token and export it where Takopi runs (or set plugins.expo.expo_token in takopi.toml).
export EXPO_TOKEN=your_token_here
  1. Ensure credentials exist in Expo:

    • iOS: Apple Developer credentials configured via EAS.
    • Android: keystore configured via EAS.
  2. Confirm eas.json includes a dev build profile:

{
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    }
  }
}

For day-to-day development, install the dev client once (/expo build:dev), then run Metro on your server and point the device to the server host/port.

commands

  • /expo build [platform] [profile] [--wait|--no-wait]
  • /expo build:dev (alias)
  • /expo build:preview (alias)
  • /expo build:prod (alias)
  • /expo build:ios (alias)
  • /expo build:android (alias)
  • /expo install [platform] [profile] (fetch latest build link)
  • /expo update <channel> <message...>
  • /expo status
  • /expo help

behavior

  • Requires a Takopi project context (e.g. /zkp2p-mobile @branch).
  • Refuses to run if the project is not configured in takopi.toml.
  • Uses EAS CLI by default. Optional script aliases can be configured per project.
  • When wait = true, build commands fetch the latest build link and print install URLs.

notes for zkp2p-mobile

The repository already defines EAS build scripts:

  • bun build:dev
  • bun build:android
  • bun build:ios

Use /expo build:dev for device-installable development builds, then /expo update development "message" for OTA updates without running Metro.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

takopi_expo-0.1.3.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

takopi_expo-0.1.3-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file takopi_expo-0.1.3.tar.gz.

File metadata

  • Download URL: takopi_expo-0.1.3.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for takopi_expo-0.1.3.tar.gz
Algorithm Hash digest
SHA256 40df5b2338540a31cd530ca303690832b37095298a4f6bff0043088d509099d3
MD5 8a3695bcbc2fb32c07f55e50087a3300
BLAKE2b-256 6c3e06f774584b1b8c9733d533ce9e625aa7fc03013c0750bfaaae0515d9fc00

See more details on using hashes here.

Provenance

The following attestation bundles were made for takopi_expo-0.1.3.tar.gz:

Publisher: workflow.yml on richardliang/takopi-expo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file takopi_expo-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: takopi_expo-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for takopi_expo-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3a5837048486d0d9bc608fd3c45daa698afb28b23ec650f817c8d5ad3d452695
MD5 b9f53f0ca606eb67a55f3c6902070101
BLAKE2b-256 5904d5ae358ab577b6b0e11dc9c1e8e71577f9f5ff8cb9b64c6c90ef387d858d

See more details on using hashes here.

Provenance

The following attestation bundles were made for takopi_expo-0.1.3-py3-none-any.whl:

Publisher: workflow.yml on richardliang/takopi-expo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page