Each Shortcut in this repository includes the following files:
{shortcut_name}.cherri
: The source file written in the Cherri language. It can also be compiled online using the Cherri Playground.shortcuts/{shortcut_name}.shortcut
: The executable signed Shortcut file.shortcuts/{shortcut_name}.xml
: The unsigned plist file compiled from the Cherri source.
The unsigned_original
directory contains Shortcuts created using the Apple Shortcuts app. Most Cherri files are converted from these originals. Since Cherri's compiled plist files differ from the originals, the original files are retained for reference.
- Backup Shortcuts: Backup
- Edit Backups: Edit Backups
- Restore Backups: Restore Backups
- Shortcut Source Tool: Shortcut Source Tool
- Helper Tool: Shortcut Source Helper
The Shortcut Source Tool allows exporting unsigned Shortcut files, which can then be processed using the Cherri CLI to generate .cherri
files.
cherri --import="Exported Shortcut File.plist" # Outputs Exported_Shortcut_File.cherri
-
Magic Variables
In Cherri, constants represent Magic Variables. Declaring aconst
does not create a new variable but references an existing one. -
Runtime Type System
Apple Shortcuts has a runtime type system. In Cherri, explicit type coercion is necessary. For instance,"{chosen_action_var['Name']}"
converts the value to text. -
iOS Version Compatibility
Starting with iOS 18, there are changes in shortcut syntax. For compatibility, include#define version 17
in your Cherri source code. This ensures that the compiled shortcuts function correctly on iOS versions below 18.