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.5.tar.gz (9.7 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.5-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: takopi_expo-0.1.5.tar.gz
  • Upload date:
  • Size: 9.7 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.5.tar.gz
Algorithm Hash digest
SHA256 5c693d90b3e57fdeabd6b5fa23519a3ca3785a4e4fc29e6f556abeb025d20447
MD5 cc90524ac80126704b2655856fe3c6b7
BLAKE2b-256 d1cca0112caeb492f877e7707cbd397d396f6b593874bc4b773ae5aab8136d74

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: takopi_expo-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 12.1 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2e9d8986124ce4bf28816b6562aa245a2ee61daed95388793aa097dda5924e84
MD5 52318dcbe9373f1545c9fc67c98f101e
BLAKE2b-256 7076afbaa5643e14e712104020d255ae2c5e49c3b03d9af659ed87894052ad0e

See more details on using hashes here.

Provenance

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