
2026/03/28 8:39
**Cherri – Appleショートカットにコンパイルされるプログラミング言語**
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
要約
Cherri は Apple Shortcuts に直接コンパイルされるプログラミング言語で、開発者は Shortcuts エコシステムを離れることなく大規模な Shortcut プロジェクトを作成できます。各 Cherri アクションは 1 対 1 で Shortcut ステップに変換され、即座に使用できるハーフ・ブートストラップ済みのアクションライブラリが付属しています。この言語は型チェック、列挙型(enum)、オプショナル、デフォルト値、原始的な識別子/キー、および宣言されていない場合にタイプを推測する型推論システムを提供します。
開発者はコマンドラインインターフェイス、VSCode(拡張機能付き)、または専用 macOS アプリから Cherri コードを書けます。Git ベースのパッケージマネージャーが依存関係を自動で取得し、インストール自体は Homebrew (
brew tap electrikmilk/cherri && brew install electrikmilk/cherri/cherri) と Nix (nix profile install github:electrikmilk/cherri) から利用可能です。リソースには VSCode 拡張機能、クロスプラットフォームのプレビュー用 Playground、macOS IDE、ドキュメント、Glyph Search、および FAQ が含まれます。
Cherri は 2022年10月5日にデビューし、Apple のオリジナル Workflow アプリに対する「Cherries」アップデートにちなんで名付けられました。Go、Ruby、ScPL、Buttermilk、および Jelly からインスピレーションを得ており、VSCode の構文ハイライトと Zed Editor サポートを通じてコミュニティの貢献を受け入れています。
今後の機能としては macOS アクションのインポート、Base64 でファイルを埋め込むこと、iCloud リンクから Shortcuts を変換する
--import= オプション、メニュー用 VCard の生成、および macOS または HubSign や scaxyz/shortcut‑signing‑server といったフォールバックサーバーを使用したパッケージ署名が挙げられます。複雑な Shortcut ワークフローを簡素化し、パッケージ管理を容易にすることで、Cherri は自動化、アプリ統合、およびクロスプラットフォームスクリプティングにおける Shortcuts の利用範囲を拡大することを目指しています。本文
Cherri(発音は cherry)は、直接実行可能な Shortcut にコンパイルされるショートカット専用プログラミング言語です。
主たる目的は、Shortcuts の制約内で大規模プロジェクトを作成・長期保守できるようにすることです。
主な特徴
- ノートPC/デスクトップベースの開発 – CLI、VS Code 拡張機能、macOS アプリ
- 学習が簡単で、構文は他言語と似ています
- デバッグを助けるため、可能な限り 1:1 で Shortcut アクションへ変換
- 半自動生成:ほとんどのアクションや型は言語内で記述されます
- Mac 上でアクションをインポート可能
- 自動含め・更新ができるリモート Git リポジトリベースのパッケージマネージャー付き
- マジック変数構文はなく、定数のみ使用
- Shortcut のサイズ最小化と実行時メモリ消費削減を意識した設計
- 大規模プロジェクトに対応するため、ファイルのインクルードが可能
- 型チェック付きでアクションを定義:列挙型・オプショナル・デフォルト値・生ID・生キーまでサポート
- Shortcut のトップレベルで自前スコープで実行される関数により、重複アクションを減らす
- アクションのコピー&ペーストが自動化
- Raw Actions を用いた手入力でアクション ID とパラメータを指定可能
- 質問定義(Import Questions)をインポート
- メニュー用 VCard の生成
- ファイルを Base64 埋め込み
オプションで iCloud リンクから Shortcuts を変換--import=- 型システムと推論機能
- macOS で署名し、失敗時は HubSign または scaxyz/shortcut‑signing‑server を利用
リソース
- Cherri VS Code 拡張
- Playground – どのプラットフォームでも Cherri を試せる、結果をプレビューし、署名済み Shortcut をエクスポート
- macOS IDE – Cherri ファイルタイプを定義し、Mac 上で GUI で Shortcut の作成・ビルドが可能
- ドキュメント – Cherri 学習とコントリビューション方法
- Glyph Search – Cherri で使える Glyph を検索
- FAQ
インストール
最新版をダウンロードするか、Homebrew または Nix からインストールできます。
Homebrew
brew tap electrikmilk/cherri brew install electrikmilk/cherri/cherri
Nix
nix profile install github:electrikmilk/cherri
または
nix-direnv を使って隔離開発環境を構築できます。
{ inputs.cherri.url = "github:electrikmilk/cherri"; outputs = { self, nixpkgs, ... }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; in { devShells.default = pkgs.mkShell { buildInputs = [ inputs.cherri.packages.${system}.cherri ]; }; } }
flake.nix があるディレクトリで direnv allow を実行してください。
使い方
引数なしで
cherri を実行すると、全オプションと使用方法が表示されます。開発時は
--debug(または -d)フラグを付けてスタックトレースやデバッグ情報を出力し、.plist ファイルを生成します。
なぜ別の Shortcuts 言語なのか?
楽しさが理由です。以前のプロジェクトは放棄されたり動作しなくなったりしたケースがあります。Shortcuts 用言語が消えてしまうことを避けるため、macOS 上で実装し、安定性と他の Shortcuts 言語(Buttermilk 以外)にないプラットフォームを提供します。
コミュニティ
- VS Code シンタックスハイライトリポジトリ
- Zed Editor サポート
クレジット & 参考文献
zachary7829/Shortcuts File Format Documentationsebj/iOS-Shortcuts-Reference- 繰り返しループのメモリ使用量削減ヒント
インスピレーション
- Go の構文
- Ruby の構文
- ScPL
- Buttermilk
- Jelly
Cherri は「最後から二番目」の更新名「Cherries」(私のお気に入りフレーバー)にちなんで命名されました。プロジェクトは 2022 年 10 月 5 日に開始しました。