Cherri — язык программирования, который компилируется в Apple Shortcuts
Open-source язык на Go с синтаксисом, похожим на C/JavaScript. Компилируется в подписанные .shortcut-файлы для iPhone, iPad и Mac. Поддерживает функции, includes и систему типов.
Новости TprogerApple Shortcuts — мощный инструмент автоматизации, но писать сложные шорткаты через визуальный редактор iOS — занятие для терпеливых. Cherri решает эту проблему: вы пишете код на десктопе, а компилятор создаёт подписанный .shortcut-файл, готовый к запуску на iPhone, iPad и Mac.
Cherri (произносится как cherry) — язык программирования, который компилируется напрямую в Apple Shortcuts. Проект написан на Go, имеет расширение для VS Code, нативное macOS-приложение и набрал 347 баллов на Hacker News.
Ключевые выводы
- Cherri — язык программирования, компилирующийся в подписанные Apple Shortcuts
- Синтаксис похож на привычные языки: переменные, функции, includes, система типов
- Разработка на десктопе — VS Code, CLI или нативное macOS-приложение
- Оптимизирует размер и потребление памяти скомпилированных шорткатов
- Open source на Go, 1240+ звёзд на GitHub
Зачем нужен язык для Apple Shortcuts
Apple Shortcuts (ранее Workflow) позволяют автоматизировать действия на iOS и macOS: от отправки сообщений до управления умным домом. Но визуальный редактор ограничивает: нет переменных в привычном смысле, нет модульности, нет контроля версий. Для сложных автоматизаций из десятков действий процесс превращается в перетаскивание блоков.
Cherri переносит разработку на десктоп: вы пишете код в текстовом редакторе, компилятор создаёт .shortcut-файл, который можно открыть на iPhone или Mac. Это даёт привычные инструменты — Git, VS Code, includes, функции — для платформы, которая их не предоставляет.
Как выглядит код на Cherri
Синтаксис Cherri напоминает смесь C и JavaScript — с переменными, условиями, функциями и системой типов:
Ключевые возможности языка:
- Переменные и константы — magic variables из Shortcuts становятся обычными константами
- Функции — работают через Run Shortcut с собственной областью видимости
- Includes — подключение нескольких файлов для модульных проектов
- Система типов — проверка типов при компиляции, чтобы шорткат работал при запуске
- Макросы copy/paste — копирование блоков кода при компиляции
- Raw Actions — прямая вставка любых Shortcuts-действий, включая сторонние
Установка и запуск
Cherri устанавливается через Go:
Компиляция .cherri-файла в .shortcut:
Результат — подписанный .shortcut-файл, готовый к AirDrop на iPhone или открытию на Mac. Также доступны:
- Расширение VS Code — подсветка синтаксиса и иконки файлов
- Нативное macOS-приложение — IDE с билдом и запуском
- Cherri Playground — онлайн-среда для экспериментов без установки
LLM научились писать на Cherri
В обсуждении на Hacker News разработчик Alin Panaitiu отметил, что Claude успешно обучается Cherri с нуля — по документации — и генерирует компилируемые шорткаты. Это открывает сценарий, где пользователь описывает автоматизацию на естественном языке, а LLM пишет код на Cherri, который компилируется в готовый Shortcut.
Часто задаваемые вопросы
Что такое Cherri?
Cherri — язык программирования с открытым исходным кодом, который компилируется напрямую в подписанные Apple Shortcuts (.shortcut-файлы). Написан на Go, поддерживает переменные, функции, includes, систему типов и макросы. Позволяет разрабатывать сложные шорткаты на десктопе с привычными инструментами.
На каких устройствах работают скомпилированные шорткаты?
На всех Apple-устройствах с поддержкой Shortcuts: iPhone, iPad и Mac. Скомпилированный .shortcut-файл можно передать через AirDrop, iCloud или просто открыть на Mac. Для разработки нужен компьютер с Go, но запуск — на любом Apple-устройстве.
Можно ли использовать Cherri без macOS?
Да. Компилятор написан на Go и работает на любой ОС — Windows, Linux, macOS. Есть онлайн-площадка Cherri Playground для экспериментов без установки. Однако для тестирования скомпилированных шорткатов понадобится устройство Apple.
Чем Cherri лучше визуального редактора Shortcuts?
Текстовый код можно хранить в Git, делить на модули через includes, использовать функции и макросы, работать в привычном редакторе. Компилятор оптимизирует размер шорткатов и проверяет типы. Для автоматизаций из десятков действий это значительно удобнее визуального перетаскивания блоков.
Что в итоге
Cherri — нишевый, но элегантный инструмент для тех, кто упёрся в ограничения визуального редактора Apple Shortcuts. Код на GitHub: electrikmilk/cherri, документация: cherrilang.org.