Raycastを育てよう!
Seiji Nakayama
2025/02/21 Raycast Meetup Japan #1

せーじ (Seiji Nakayama)

ただのVimmer
業務
バックエンド・Webの開発(たまにアプリ)
言語
業務 => Go, TypeScript, Kotlin, Flutter
趣味=> Haskell, Rust, Lua
エディタ
Neovim(intellijも使う)
好き
Vim・ロードバイク・車
シンプルで拡張性があるプロダクト
特徴
実家が洋菓子店
デバイス
Apple / EIZO / HHKB Studio

今回話すこと

  1. Raycast 便利
  2. Script Command のススメ
  3. Raycast Extension のススメ
  4. 終わりに

Agenda

  1. Raycast 便利
  2. Script Command のススメ
  3. Raycast Extension のススメ
  4. 終わりに

Raycast ってすごく便利ですよね!
すごく!

Raycast の標準機能(私がよく使う者たち)

機能名 ユースケース
AI Chat DeepSeek など 20 種類の AI と Chat できる
AI Command カーソルで選択など、様々な形で input を渡せる
Focus 作業に集中したいとき、任意のアプリからの通知を止められる
Prompt Lab 誰かが公開してる Prompt を拝借できる
Calendar 予定を確認したり、meet にコマンド一つで入れたり
Script Command 後ほど紹介
Clipboard History コピーしたものを検索できる。課金すると History が消えない
Window Management window サイズを自在に変化させられる
Manage Auto Quits 後ほど紹介

余談:Manage Auto Quits はイイぞ〜

inactive になってから設定した時間経つとアプリが勝手に止まる。

たま〜にしか利用しないアプリとか、気付かないうちに勝手に起動してるアプリとか、

pc が重くなるまえに勝手に止めてくれる。便利。

Raycast はだいたい標準機能が充実してる。

ただ、たま〜に標準では補えないものもある

しかし、

だいたい、Raycast のStoreにある

素でもめっちゃ使える

素でもめっちゃ使える

Vim と違って

今に満足してませんか、、、?

せっかくなら自分の Raycast を育てよう!

せっかくなら自分の Raycast を育てよう!

そう、Vim を育てるように...!!

Agenda

  1. Raycast 便利
  2. Script Command のススメ
  3. Raycast Extension のススメ
  4. 終わりに

エンジニアあるある

面倒なこと、script で簡略化しがち。

とりあえず面倒だとおもったら shell script でコマンドを作る。

shell script で収まらない場合は go とか bun でコマンドを作る。

今に満足してませんか、、、?

コマンドを実行するには

  1. ターミナルの起動
  2. コマンドの入力
  3. <CR>

の 3 手が必要

Script Command なら 1 手

  1. ショートカットを呼ぶ
※引数がないものに限る

もちろん、引数を渡すことも可能

引数の数も設定に応じて増やせる

Script Command を作る

Raycast で Create Script Command を実行し、
必要な部分を埋めるだけ

Script Command を編集する

作成されるのは普通の shell script なので、あとは編集するだけ。
Script Command かはファイル冒頭の comment で認識してるっぽい。

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title コマンドのタイトル
# @raycast.mode silent
# Optional parameters:
# @raycast.icon 🤖
# @raycast.argument1 { "type": "text", "placeholder": "text only" }
# @raycast.packageName test
# Documentation:
# @raycast.description 説明
# @raycast.author n_seiji
# @raycast.authorURL https://raycast.com/n_seiji
echo "Hello World!"

Script Command を編集する

引数は @raycast.argument1 を 2, 3 と増やすと増えていく。
詳しい仕様はこちら => GitHub

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title コマンドのタイトル
# @raycast.mode silent
# Optional parameters:
# @raycast.icon 🤖
# @raycast.argument1 { "type": "text", "placeholder": "text only" } <= ココ
# @raycast.packageName test
# Documentation:
# @raycast.description 説明
# @raycast.author n_seiji
# @raycast.authorURL https://raycast.com/n_seiji
echo "Hello World!"

Script Command で使える言語

色々ある。ここにない言語もできるか?とチャレンジしたがどう頑張ってもランタイムがないのか動かない。

sh で実行する形にしておけば動くので、Go とかをコンパイルしたものなら動く。

Agenda

  1. Raycast 便利
  2. Script Command のススメ
  3. Raycast Extension のススメ
  4. 終わりに

まだまだ満足できない!そんなあなたには

Raycast Extension

Raycast Extension の使い所

Script Command でだいたいできるが、

ちょっとリッチな見た目にしたい場合に選択肢に入ってくる。

とくに、複数から選択させる UIForm のように情報を複数入力する UI が必要な場合とか

Raycast Extension の使い所

Script Command でだいたいできるが、

ちょっとリッチな見た目にしたい場合に選択肢に入ってくる。

とくに、複数から選択させる UI や Form のように情報を複数入力する UI が必要な場合とか

動くものを作るのに 1 分 かからないので遊びでとりあえず試すのがおすすめ。

Raycast Extension の使い所

Script Command でだいたいできるが、

ちょっとリッチな見た目にしたい場合に選択肢に入ってくる。

とくに、複数から選択させる UI や Form のように情報を複数入力する UI が必要な場合とか

動くものを作るのに 1 分かからないので遊びでとりあえず試すのがおすすめ。

+  AI もめちゃくちゃ簡単に使える!

Raycast Extension の作成方法

Raycast で「Create Extension」と検索し、必要な箇所を埋めてく(以下略)

基本上記の説明だけでできるはず(本当に簡単)だが、

必要があれば公式のチュートリアル参照 => Create Your First Extension

作成されたコード

中はReact。UIを作るには @raycast/api のコンポーネントを使う必要があり、自前ではUIは作れない。

逆に UI を作る必要がないので簡単。

Raycast Extension のテンプレの種類が豊富

基本的なList表示、Grid表示やAIとの会話のIFのテンプレなど10種類ある

Raycast Extension のテンプレの種類が豊富

AIはこんな感じで使える。optionを指定することで、

Model(なぜか20種類ぐらいある)や

Creativity(創造性='height', 'medium', etc..)を指定できる

Agenda

  1. Raycast 便利
  2. Script Command のススメ
  3. Raycast Extension の
  4. 終わりに

個人的には Raycast を盛り上げたい!

Raycast はめちゃめちゃ便利だし、遊ぶと無限に楽しい。

特にハックするのたのしい => Raycast の AI を Raycast 以外から利用する

みなさんも面白いことしたら発信していただけると。。。!