\

Cherri – programming language that compiles to an Apple Shortuct

162 points - last Friday at 11:39 PM

Source
  • alin23

    today at 6:25 PM

    I've just used this extensively to build 200 Shortcuts for my event-based automation app on macOS [0], because some actions you simply can't do without Shortcuts: changing Focus Mode, toggling Accessibility functions like Color Filters, accessing the Private Cloud Compute model etc.

    I also wrote about how Claude was able to basically learn the language from scratch and write those fully compilable Shortcuts for me [1] because it was mind boggling to me that an LLM can do that. Curiously, this is becoming more and more normal in my mind.

    [0] https://lowtechguys.com/crank

    [1] https://alinpanaitiu.com/blog/how-good-is-claude-really/#che...

      • 6thbit

        today at 8:22 PM

        Yeah having this opens up the LLM assisting path to build shortcuts. Which is great! Maintaining them by hand is not

    • wiether

      today at 8:36 PM

      Oh boy!

      Creating/maintaining Shortcuts is such a pain!

      Having to do it on a small iPhone screen with a touchscreen keyboard, through a no-code interface...

      I want an actual text editor, I want to version things with git...

      It feels like with Cherri I'll finally be able to actually do things!

      Thanks!

      • pseudosavant

        today at 8:37 PM

        This makes me want to spend some time with Codex just to figure out something fun to do with Shortcuts!

        • lemontheme

          today at 7:00 PM

          Cool! As a professional programmer few things consistently succeed in making me feel inept like trying to build an Apple Shortcut

            • zimpenfish

              today at 8:40 PM

              I felt really smart after I made a fancy Shortcut that did complex playlist generation based on rules and whatnots.

              Of course, adding music to a playlist broke a couple of updates down the line and, as far as I'm aware, still doesn't work properly several years later.

              (I moved to Marvis Pro[0] because it has reasonably complex smart playlists that just about mimic what I was doing with my generator except they're transient and not saved as mine were. Win some, lose some.)

              [0] No link, sorry, because it'd either be iOS App Store or ad-laden bloat sites "reviewing" it. https://www.reddit.com/r/MarvisApp/ might be worth a read though.

          • RationPhantoms

            today at 7:01 PM

            Still confused on why there is no social component of this? What is the best place to find examples of actual useful Apple Shortcuts?

          • kbd

            today at 7:15 PM

            What can you do on a Mac with Shortcuts vs AppleScript vs Hammerspoon?

              • alin23

                today at 7:23 PM

                There are some things that are only available in Shortcuts because Apple gave the app entitlements to communicate with parts of the system that an AppleScript or other apps can't. Things like setting/getting the Focus Mode, changing some system settings like Airdrop Receiving, Color Filters, Background Sounds etc.

                Also some apps export Shortcut actions that can run in-app code: for example my Lunar app has an action that can help fixing arrangement when monitors flip around [1]

                It's much easier to implement a struct for a Shortcut, than exporting AppleScript sdef files or creating IPC command-line tools, so a lot of apps take this route for code that needs access to the memory of the running app.

                [1] https://lunar.fyi/shortcuts#fix-monitor-arrangement

                  • _doctor_love

                    today at 8:39 PM

                    I didn't realize you were the Lunar guy! I freaking love your apps! Thank you for making good and useful software.

                    Being able to adjust my monitor brightness during the pandemic actively changed my quality of life for the better (I was in a small SF apartment).

            • Ragingweb

              today at 7:19 PM

              I built a small app to follow my infant son's feedings and diaper changes. Simply used the shortcuts get content of url to call the API rest endpoints. This is much better !

              • simquat

                today at 6:22 PM

                Looks quite cool and I'd like to give a try. What is the main use case for compiling code to shortcuts? I ask because I'm working on a tool[0] that in a way does the opposite.

                [0] https://breadboards.io

                  • 0x457

                    today at 7:27 PM

                    What you're doing is visual programming. On its own there isn't anything wrong with it. However, specifically with Shortcuts it's not very pleasant for anything complex.

                    I had a full garden automation running on shortcuts, but it was extreme hard to maintain and improve due to "editor" being so bare bones.

                      • simquat

                        today at 7:58 PM

                        Thanks for sharing. By the editor being bare bones do you mean some missing feature might change your mind about using it, or do you find the text-based editor much more comfortable?

                • hmartin

                  today at 5:33 PM

                  Could you explain more about how the signing setup works?

                  (That's what held me back most for spending more effort on shortcuts.)

                    • yg1112

                      today at 5:56 PM

                      From the repo, it signs natively on macOS and falls back to a cloud signing server (shortcut-signing-server). That fallback matters -- without macOS you would have to reverse-engineer Apple signing format yourself, and it changes across iOS versions. The hosted signing server is really what makes the whole cross-platform toolchain viable.

                • today at 5:38 PM

                  • duskwuff

                    today at 7:23 PM

                    While it's not in quite the same product category, a name change might be in order; this is uncomfortably close to CHERI (cf. https://cheri-alliance.org/).

                      • 0x457

                        today at 7:29 PM

                        Should we rename fruit as well just in case?

                    • _doctor_love

                      today at 6:50 PM

                      Very cool! IMHO Apple Shortcuts will finally get the love they're due in the age of AI.

                      • threecheese

                        last Saturday at 3:54 AM

                        I’m interested to understand how this is different than Jelly; they seem to be similar. Same for Scriptable. I’ve been looking at this to hand over to Claude to build Shortcuts, something which has a terrible development experience.

                          • alin23

                            today at 6:58 PM

                            You can definitely have Claude work with cherri files.

                            Jelly was a confusing experience for me, with JellyCuts becoming closed source and focusing on advertising, then Open-Jellycore branching out but not actually keeping up with the latest shortcut actions.

                            Cherri has almost every action you can find in the Shortcuts app, easy to use, and easy to create Shortcuts that can accept input and output so that they can be automated or scripted further.

                            • Barbing

                              today at 6:58 PM

                              You’ll have challenges with this too but you can get something by working with the three top labs’ models. Tried on Arena.ai and sent any errors back (in a personal effort to further iOS accessibility, but I digress).

                              Wonderful project, thank you Cherri!

                          • subhro

                            today at 7:21 PM

                            Is this vibe coded? The README at least looks very LLM-ish.

                            • caycep

                              today at 7:44 PM

                              whither AppleScript?

                              • mwkaufma

                                today at 7:14 PM

                                "shortuct"

                              • aaronbrethorst

                                today at 5:18 PM

                                Adjacently, does anyone know of a Terraform-like syntax for creating GitHub Actions YML files?