Create a new RDE template from a JSON spec file
Create a new RDE template from a JSON spec file. See the annotated example at the bottom for the JSON shape — or, once you have a template you like, round-trip from it (audit fields like id/created_at are ignored):
bitrise-cli rde template view OTHER_TEMPLATE_ID -o json > template.json
bitrise-cli rde template create --file template.json
Pass --file - to read the JSON from stdin.
Required fields: name template name stack_id stack ID (see 'rde stack list') machine_type machine type name (see 'rde machine-type list')
Optional fields: description free-text description working_directory default working directory for sessions startup_script bash script run on every session start warmup_script bash script run once during pre-warming session_inputs array of {key, description, required, default_value, expose_as_env_var} — values callers supply at create time template_variables array of {key, value, is_secret, expose_as_env_var} — baked-in values available to startup/warmup scripts feature_flags array of {name, description} workspace_links array of {label, folder_path, feature_flag_name} — IDE folder shortcuts
Example spec exercising every field (a macOS iOS-app dev environment — adjust to taste):
{ "name": "example-ios-app", "description": "Example macOS dev environment for an iOS app.", "stack_id": "osx-xcode-16.0.x-edge", "machine_type": "g2.mac.m2pro.6c-14g", "working_directory": "/Users/vagrant/git", "warmup_script": "set -euo pipefail\ncd ~\ngit clone "https://${GITHUB_PAT}@github.com/example-org/example-app.git" git\ncd git && bundle install && pod install --project-directory=ios\n", "startup_script": "set -euo pipefail\ncd /Users/vagrant/git\ngit pull --ff-only || true\nsudo xcode-select -s "/Applications/Xcode-${XCODE_VERSION}.app"\n", "session_inputs": [ { "key": "GITHUB_PAT", "description": "GitHub PAT with read access to example-org/example-app", "required": true, "expose_as_env_var": true }, { "key": "XCODE_VERSION", "description": "Xcode version to select via xcode-select", "default_value": "26.3", "expose_as_env_var": true } ], "template_variables": [ {"key": "APP_SCHEME", "value": "ExampleApp", "expose_as_env_var": true}, {"key": "FASTLANE_API_KEY", "is_secret": true, "expose_as_env_var": true} ], "feature_flags": [ {"name": "enable_beta_simulator", "description": "Boot the iOS beta simulator on session start"} ], "workspace_links": [ {"label": "Open app in Xcode", "folder_path": "/Users/vagrant/git/ios"}, {"label": "Open scripts (beta only)", "folder_path": "/Users/vagrant/git/scripts", "feature_flag_name": "enable_beta_simulator"} ] }
bitrise-cli rde template create [flags]
bitrise-cli rde template create --file template.json
cat template.json | bitrise-cli rde template create --file -
-f, --file string path to a JSON spec file (use '-' for stdin)
-h, --help help for create
--no-color disable ANSI colors (NO_COLOR env is also honored)
-o, --output string output format: human|json (default "human")
-q, --quiet suppress non-error diagnostic messages
--theme string color theme: auto|dark|light|none (default "auto"; overrides terminal background detection)
--workspace string workspace ID (or set BITRISE_WORKSPACE_ID or default_workspace_id; auto-detected if you have exactly one workspace)
- bitrise-cli rde template - List and inspect RDE templates