πŸ“¦ ionic-team / trapeze

The mobile project configuration toolbox. Manage native iOS, Android, Ionic/Capacitor, React Native, and Flutter apps through a simple YAML format.

β˜… 370 stars β‘‚ 47 forks πŸ‘ 370 watching βš–οΈ Other
androidcapacitoriosxcode
πŸ“₯ Clone https://github.com/ionic-team/trapeze.git
HTTPS git clone https://github.com/ionic-team/trapeze.git
SSH git clone git@github.com:ionic-team/trapeze.git
CLI gh repo clone ionic-team/trapeze
Charles Currier Charles Currier refactor: update Tempy to resolve deprecation warning (#226) c19c6e4 8 months ago πŸ“ History
πŸ“‚ main View all commits β†’
πŸ“ .changeset
πŸ“ .github
πŸ“ examples
πŸ“ packages
πŸ“„ .gitignore
πŸ“„ .prettierrc
πŸ“„ LICENSE
πŸ“„ logo.png
πŸ“„ package.json
πŸ“„ README.md
πŸ“„ turbo.json
πŸ“„ README.md
Trapeze Logo

πŸ€Έβ€β™€οΈ Easy automated project configuration for iOS, Android, Capacitor, React Native, Flutter, and more πŸ€Έβ€β™€οΈ


Trapeze is a mobile project configuration toolbox for native iOS and Android project management. From a simple YAML format, Trapeze makes it easy to automate the configuration of native mobile iOS and Android projects, and supports traditional native, Ionic, Capacitor, React Native, Flutter, and .NET MAUI. The long-term goal of Trapeze is to enable fully immutable native mobile projects.

Trapeze works by automating the modification of pbxproj, plist, XML, Gradle, JSON, resource, properties, and other files in iOS and Android app projects. It features a configuration-driven tool that takes a YAML file with iOS and Android project modifications and performs those modifications from the command line interactively.

For example, modifying your project is as easy as writing a configuration file:

platforms:
  ios:
    targets:
      App:
        bundleId: $BUNDLE_ID
        version: $VERSION

  android:
    packageName: com.example.app
    versionName: $VERSION_NAME
    versionCode: $VERSION_CODE

Each one of these variables can be supplied from the environment or interactively when running the command. There are many more configuration options available.

A Project API is also available for writing custom JavaScript/TypeScript project modification scripts for full control. The configuration tool uses this API under the hood.

See trapeze.dev for full documentation and to get started using Trapeze.

Note: this project was formerly known as capacitor-configure but has now been expanded to support other mobile frameworks and renamed to Trapeze as of June 2022