6 ms·
Cherri – programming language that compiles to an Apple Shortuct
- threecheese 6mo agoI’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.
- Barbing 6mo agoYou’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!
- alin23 6mo agoYou 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.
- chrisaiv 6mo agoMain difference is language style. Cherri feels like your writing Go. Jelly feels like your writing JavaScript / Swift.
- aaronbrethorst 6mo agoAdjacently, does anyone know of a Terraform-like syntax for creating GitHub Actions YML files?
- RulerOf 6mo agoI'm sure the UX would suck, but you could use hcl2json[0] and then transform that to YAML. [0]: https://github.com/tmccombs/hcl2json https://github.com/tmccombs/hcl2json
- hmartin 6mo agoCould you explain more about how the signing setup works? (That's what held me back most for spending more effort on shortcuts.)
- yg1112 6mo agoFrom 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.
- mmastrac 6mo agoI wonder if https://crates.io/crates/apple-codesign https://crates.io/crates/apple-codesign is sufficient to codesign these. Apple usually re-uses these sort of things.
- chrisaiv 6mo agoThe signing server is hosted by https://routinehub.co/ https://routinehub.co/ They offer an API if you’d prefer not to manage signing yourself.
- deleted 6mo ago[deleted]
- simquat 6mo agoLooks 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 https://breadboards.io
- 0x457 6mo agoWhat 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 6mo agoThanks 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?
- 0x457 6mo agoI was talking specifically about Apple Shortcuts. Once you have anything complex, you're going to need code reuse and its a sad story with shortcuts as provided by Apple.
- alin23 6mo agoI'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 https://lowtechguys.com/crank [1] https://alinpanaitiu.com/blog/how-good-is-claude-really/#cherri https://alinpanaitiu.com/blog/how-good-is-claude-really/#che...
- 6thbit 6mo agoYeah having this opens up the LLM assisting path to build shortcuts. Which is great! Maintaining them by hand is not
- TarqDirtyToMe 6mo agoCool to hear Claude was able to learn it. I was planning on leveraging it in a future version of this project I was hacking on that lets you execute shortcut actions as tools (without creating actual shortcuts): https://tarq.net/posts/action-relay-shortcut-actions-mcp/ https://tarq.net/posts/action-relay-shortcut-actions-mcp/
- alsetmusic 6mo agoWell, that’s a domain that has caught my attention so I’ll give this more weight (ltg). I recall novel Mac apps that weren’t quite right for me but seemed thoughtful.
- MetalSnake 6mo agoWhen you say Claude learned it. That's in the current context window it is able to do that, right? Or is there a more permanent way to make it learn something?
- junkblocker 6mo agoYou ask it to read the docs or site and create a 'skill' out of it.
- _doctor_love 6mo agoVery cool! IMHO Apple Shortcuts will finally get the love they're due in the age of AI.
- lemontheme 6mo agoCool! As a professional programmer few things consistently succeed in making me feel inept like trying to build an Apple Shortcut
- zimpenfish 6mo agoI 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/ https://www.reddit.com/r/MarvisApp/ might be worth a read though.
- mulmen 6mo agoThis is what prevents me from putting any effort in to shortcuts. I have zero confidence in Apple respecting my time by committing to compatibility or even just not breaking things. The constant feature churn from new PM’s tearing down Chesterton’s fence to make way for their own career ambitions makes Apple user hostile.
- wombatpm 6mo agoApple doesn’t respect its users with constant changes to iTunes and then Music. My wife is still mad that after redoing her 12,900 songs, and correcting Meta Data, Apple Music said your wrong and changed at least 10% of her music in some way.
- 1bpp 6mo agoIt feels actively hostile to programmers sometimes
- vjvjvjvjghv 6mo ago
- RationPhantoms 6mo agoStill confused on why there is no social component of this? What is the best place to find examples of actual useful Apple Shortcuts?
- doc_ick 6mo agoProbably Reddit.
- zimpenfish 6mo agoSpecifically https://www.reddit.com/r/shortcuts/ https://www.reddit.com/r/shortcuts/ since it appears to be the last one standing.
- wlesieutre 6mo agoA lot of examples from Federico Viticci / MacStories (scroll down past the Automation Academy ad) https://www.macstories.net/shortcuts/ https://www.macstories.net/shortcuts/
- nunez 6mo ago/r/Shortcuts is your best bet.
- chrisaiv 6mo agoThis has everything. https://routinehub.co/ https://routinehub.co/
- mwkaufma 6mo ago"shortuct"
- tech234a 6mo agoApple had the same typo at WWDC 2018: https://devdude.me/blimg/wwdc18Keynote/shortcutsApp.png https://devdude.me/blimg/wwdc18Keynote/shortcutsApp.png
- kbd 6mo agoWhat can you do on a Mac with Shortcuts vs AppleScript vs Hammerspoon?
- alin23 6mo agoThere 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 https://lunar.fyi/shortcuts#fix-monitor-arrangement
- _doctor_love 6mo agoI 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).
- alin23 6mo agoThank you for the kind words! Love to hear from people that were helped by my work! That was also my pain point with Lunar, working on a small balcony in a small apartment where the light from the window was constantly changing and the monitor always being way too bright or way too dim. I broke one of those LG monitor joystick OSD buttons before I got to building Lunar.
- jen20 6mo agoTIL Lunar... and it solves at least three different problems I have. Looking forward to playing with it when I'm back at my desk tomorrow!
- Ragingweb 6mo agoI 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 !
- subhro 6mo agoIs this vibe coded? The README at least looks very LLM-ish.
- woadwarrior01 6mo agoIt's been around for a long time. It's from well before vibe-coding was a thing. I first saw it ~3 years ago.
- subhro 6mo agooh okay. I had no idea and was lazy to check the commit logs.
- duskwuff 6mo agoWhile 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/ https://cheri-alliance.org/).
- 0x457 6mo agoShould we rename fruit as well just in case?
- caycep 6mo agowhither AppleScript?
- wiether 6mo agoOh 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!
- luckypeter 6mo ago[dead]
- pseudosavant 6mo agoThis makes me want to spend some time with Codex just to figure out something fun to do with Shortcuts!
- wateralien 6mo agoI'm guessing that if Apple can get it right with the next LLM based Siri, generating or editing Shortcuts may get easier anyway.
- greggsy 6mo agoIt does seem like the logical automation platform to prepare repeatable tasks that the end user might want to do. The permissions and secure app integration models are all there, and it’s reasonably stable. It was always puzzling why there was never an exportable scripting language, just shareable links. I think I ended up sharing screen shots with Claude last time I wanted to troubleshoot something.
- lynndotpy 6mo agoThe biggest problem IMO is the loooooooong animation delay built into every UI interaction. It's so hard to get into a flow state or even maintain a train of thought when you have to wait for everything on the screen to stop sliding, wiggling, wobbling, jiggling, refracting, distorting, and flashing.
- allthetime 6mo agoI’m guessing you might know already, but just in case you don’t, “reduce motion” in the accessibility settings menu is essential to productivity and sanity.
- RulerOf 6mo agoThere needs to be a happy medium. I don't like reduce motion because it amputates many of the spatial arrangement metaphors inherent in the iOS UI. My biggest problem with authoring shortcuts is that the editor goes out of its way to obliterate context while you're working. Full-screen editors to change a setting lay on top everything else you're working on. Placeholders for variables, which themselves have no actual names. It's a mess.
- lynndotpy 6mo agoThis does nothing to remove the loooooong animations. Much of the interface still jiggles, wobbles, slides, etc. It just replaces a fraction of those with fade animations that are just as long. It's just a high-latency interface all throughout.
- gigatexal 6mo agoI wish Apple hadn’t gone with shortcuts. Instead I wish they’d given us a proper sdk for iOS and macOS as a Python module. Python is so easy to pick up they could have given it a low code drag and drop front end but for us who can code why not a proper language ?
- gverrilla 6mo agotypo in title: "Shortuct" instead of "Shortcut" - is this how we're gonna distinguish from llm? /s
- wwalexander 6mo agoI take it this only supports Apple’s built-in actions, and doesn’t plug into the broader AppIntents system? AppIntents includes a packaging concept, would be cool to see if this could use third-party AppIntents in a similar way to how scientific Python uses C modules for performance critical sections.
- electrikmilk 6mo ago[dead]
- Pakvothe 6mo agoLove this approach of compiling a readable language to a platform-specific format. Same pattern works well for i18n. Write in one language, compile/translate to the target formats automatically. The developer experience of writing real code instead of clicking through a GUI (Shortcuts app in this case) is always the right bet for power users
- swiftcoder 6mo ago> Cherri (pronounced cherry) Why would you spell it like that if you don't want me to pronounce it chéri/sherry?
- naikrovek 6mo ago> Why would you spell it like that if you don't want me to pronounce it chéri/sherry? Because that's a way to spell it without changing the pronounciation in the US. Also, in the extremely unlikely event that it becomes very popular, in the US you can't trademark a dictionary word, it must be something unique.
- actionfromafar 6mo agoLike Windows?
- naikrovek 6mo ago“Windows” alone is not trademarked. “Windows 11” is trademarked. “Windows Server” is trademarked.
- bocchi 6mo agoApple?
- naikrovek 6mo ago“Apple” isn’t trademarked. “MacBook” is trademarked. “Mac” is trademarked. “iTunes” is trademarked. “Apple iPad” is probably trademarked. “Apple” alone is not trademarked.
- xihe-forge 6mo ago[dead]
- qubex 6mo agoOf course what we need is a native IDE that runs on an iPhone and produces executable scripts…