Analyzed 17 days ago · 2 anonymous rescans remaining · register free to re-analyze any time.
Public analysis · read only
Register free to re-analyze

ionic-team/trapeze

375 50 56 issues
TypeScript
NOASSERTION

Project Overview

anthropic / claude-opus-4-7

Trapeze

CLI and API for automating native iOS and Android mobile project configuration via YAML.

AI Verdict
Clean— AI Trust Assessment

True Intent (AI Assessment)

Provide a declarative YAML-driven tool and TypeScript API for automating configuration changes to native iOS and Android mobile project files.

README Accuracy

Accurate

Notes

Behavior matches README. Minor note: package license fields say 'SEE LICENSE' and GitHub reports NOASSERTION — consumers should verify licensing terms in the LICENSE file.

What Is This?

Trapeze is a mobile project configuration toolbox from the Ionic team. It provides a CLI (@trapezedev/configure) and a programmatic API (@trapezedev/project) that read a YAML configuration and apply modifications to the native files inside iOS and Android app projects — things like pbxproj, Info.plist, AndroidManifest.xml, build.gradle, string resources, entitlements, and JSON/properties files.

The problem it solves is the tedious and error-prone task of editing native mobile project files by hand. Teams building with Capacitor, Ionic, React Native, Flutter, or plain native iOS/Android often need to tweak bundle IDs, versions, signing configs, permissions, icons, and Gradle dependencies across environments (dev, staging, prod). Trapeze makes these changes declarative, repeatable, and CI-friendly, moving the ecosystem toward the stated long-term goal of fully immutable native mobile projects.

The primary users are mobile developers and DevOps engineers working on hybrid or native mobile apps. They author a YAML file (e.g. config.prod.yml) describing the desired state of the iOS and Android targets, then invoke the `trapeze` CLI to apply it — interactively or with environment variables supplying values like $BUNDLE_ID or $VERSION_CODE. Advanced users can drop to the TypeScript Project API for scripted, custom modifications.

Internally, the repo is a Turborepo monorepo with npm workspaces. Key packages: `project` (the core file-manipulation engine, using xcode, plist, @xmldom/xmldom, gradle-to-js, xml-js, xpath, prettier, diff), `gradle-parse` (a Java-backed JAR for accurate Gradle parsing), `configure` (the CLI wrapping the API with commander, prompts, kleur, yaml), and `website` (Docusaurus docs at trapeze.dev). Examples include a full Capacitor React app demonstrating dev/prod YAML configs.

No red flags observed. Code is a straightforward, well-scoped tooling monorepo maintained by a known vendor (Ionic). License field says SEE LICENSE in packages but a top-level LICENSE file exists; GitHub reports NOASSERTION which is worth a quick check by users.

Your Report, Tab by Tab
At a Glance
375Stars
50Forks
56Open Issues
May 2026Last Active
CLI ToolTypeScriptSee LICENSE file (NOASSERTION on GitHub)
Technology Stack
LanguagesTypeScript, JavaScript, Java, SCSS, Shell
RuntimeNode.js
FrameworkTurborepo monorepo; Docusaurus (docs site)
DatabaseNone
Package Managernpm (workspaces)
Key Dependenciesxcode, plist, @xmldom/xmldom, gradle-to-js, xml-js, commander, prompts, yaml, lodash, prettier
Build ToolTurbo + TypeScript compiler (tsc)
Test FrameworkVitest