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.2.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.2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: takopi_expo-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 7e4ccadb6c0ef9bfe2134aaa9f2f14a832ada49cdbd00701540cd8d2c1495a61
MD5 b164fb52acf6e89297dc1a0c3c99efc5
BLAKE2b-256 d2880eb1ceb7114d06f8d6d9eeac780eddc65a02196b1bfe6cc40c60f224157b

See more details on using hashes here.

Provenance

The following attestation bundles were made for takopi_expo-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: takopi_expo-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.2 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7c7222bb6a486ff5de9f2503042b07103800f6a5b4600d1255113c39a82cfb4d
MD5 2455d1c3c9b6db379d1d23ba8f173545
BLAKE2b-256 f7684671986a80bc6ca877ed195e9e23e3cd7817625bc3ce367d0ebdfb3bebaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for takopi_expo-0.1.2-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