
Scale your Shortcut projects and maintain them long-term.
Cherri (pronounced cherry) is a Siri Shortcuts programming language that compiles directly to a signed Shortcut you can then run on your Apple devices.
Try Cherri/* Hello, Cherri! */
#define glyph smileyFace
#define color yellow
@message = "Hello!"
alert("Message: {message}", "Alert")
Why Cherri?
- π₯οΈ Laptop/Desktop based development
- π Easy to learn and syntax similar to other languages
- π 1-1 translation to Shortcut actions as much as possible to make debugging easier
- πͺΆ Optimized to create as small as possible Shortcuts and reduces memory usage at runtime
Glyphs Search
Use the glyphs search site to easily generate a Shortcut icon for Cherri outside of Shortcuts.
How does it work?
πͺ No magic variables syntax, theyβre constants instead
const int = 37
show("{int}")
#οΈβ£ Include files within others for large Shortcut projects
#include 'other-file.cherri'
// ...
#include 'another-file.cherri'
π§ Define custom actions
action myCustomAction(text test) {
show("{test}")
}
myCustomAction("Test")
π Copy-paste actions automatically
copy checkConnection {
const online = isOnline()
if !online {
alert("No internet connection!")
}
}
// ...
paste checkConnection
π₯© Define raw actions with custom identifier and parameters
rawAction("is.workflow.actions.gettext", [
{
"key": "WFTextActionText",
"type": "string",
"value": "Hello, world!"
}
])
π Generate VCards for menus
Creates a text action in the VCard format based on the arguments.
makeVCard("Title", "Subtitle")
π’ Type system and type inference
// Declared types
@string: text
@integer: number
// Inferred types
@txt = "Test"
@int = 37