본문으로 건너뛰기

Raycast 확장 스크립트 실전 세팅

Raycast를 도입한 뒤 Spotlight로 되돌아가지 못한 이유는 단순합니다. Raycast의 확장 스크립트 시스템이 개인 워크플로우를 앱 안에서 직접 실행할 수 있게 만들어주기 때문입니다. 이 노트는 실제 사용하는 확장 스크립트 셋업과 커스텀 스크립트 작성 방식을 정리합니다.

Raycast를 왜 쓰는가

Spotlight는 파일 검색, 계산기, 사전 정도의 기본 기능만 제공합니다. Raycast는 그 자리를 대체하면서 창 관리, 클립보드 기록, 스니펫, 확장 마켓플레이스까지 통합했습니다.

Alfred가 이미 오래 이 자리를 지켜왔지만, Raycast가 후발 주자로서 몇 가지 강점을 보였습니다. 확장 마켓플레이스가 활발하고, TypeScript로 확장을 개발할 수 있어 웹 개발자에게 접근성이 높으며, 기본 창 관리 기능이 내장되어 있습니다.

Alfred에서 Raycast로 옮긴 편집팀 에디터들의 공통 관찰은 “설정을 만지는 시간이 줄었다”입니다. Alfred는 파워 유저용 워크플로우 시스템이 강력한 대신 세팅에 시간이 걸리고, Raycast는 기본 설정으로도 상당 부분이 커버됩니다.

설치 직후 켜야 하는 기능

Raycast를 설치하면 대부분의 유용한 기능이 기본으로 켜져 있지만, 다음은 별도 설정이 필요합니다.

Hotkey 설정. 기본은 Option+Space지만 편집팀은 Command+Space를 Raycast에 할당하고, Spotlight는 Control+Space로 이동시킵니다. Spotlight를 완전히 끄지는 않습니다. macOS의 일부 시스템 검색이 여전히 Spotlight 백엔드를 사용합니다.

Clipboard History. Raycast > Extensions > Clipboard History 활성화. 텍스트, 이미지, 파일 참조 모두 기록됩니다. 검색으로 이전 클립보드 항목을 찾을 수 있습니다.

Window Management. Raycast > Extensions > Window Management 활성화. Rectangle과 유사한 기능이 내장되어 있습니다. 별도의 창 관리 앱이 필요 없어집니다.

Quicklinks. 자주 열어보는 URL을 이름으로 저장. 예: “docs”를 치면 회사 문서 사이트가 열리도록.

기본 마켓플레이스 확장

편집팀이 실제로 사용하는 서드파티 확장:

GitHub. 이슈, PR, 저장소 검색. 리뷰 대기 PR 목록 확인. GitHub 액세스 토큰 필요.

Linear. 이슈 트래킹. 현재 스프린트의 이슈 확인, 새 이슈 생성. Linear API 토큰 필요.

Google Search. 브라우저를 열지 않고 검색 결과를 미리 볼 수 있습니다. 짧은 질문에 유용.

Emoji Search. 이모지를 이름으로 검색하고 클립보드에 복사. macOS 기본 이모지 피커보다 빠릅니다.

Color Picker. 화면에서 색상 추출. 개발자와 디자이너에게 유용.

Notion. 페이지 검색과 빠른 노트 생성. Notion API 통합.

Kill Process. 실행 중인 프로세스를 검색하고 강제 종료. Activity Monitor보다 빠릅니다.

Script Commands

Raycast의 Script Commands는 시스템 스크립트를 Raycast 명령으로 노출시키는 기능입니다. 확장을 개발하지 않고도 개인 자동화를 Raycast에서 실행할 수 있습니다.

스크립트 파일 상단에 특정 형식의 주석을 넣으면 Raycast가 이를 명령으로 인식합니다.

#!/bin/bash
# @raycast.title Toggle Wifi
# @raycast.mode silent
# @raycast.packageName Network
# @raycast.icon 📶

networksetup -setairportpower en0 off
sleep 1
networksetup -setairportpower en0 on

이 스크립트를 특정 폴더에 넣고 Raycast Preferences > Extensions > Script Commands에서 그 폴더를 등록합니다. 이후 Raycast 검색창에 “Toggle Wifi”라고 치면 실행할 수 있습니다.

실제 사용하는 커스텀 스크립트

Editorial Draft New. 새 편집 초안 폴더를 생성하고 iA Writer에서 여는 스크립트. 오늘 날짜와 프로젝트 코드를 입력받아 표준화된 구조의 폴더를 생성.

#!/bin/bash
# @raycast.title New Editorial Draft
# @raycast.mode fullOutput
# @raycast.packageName Editorial
# @raycast.argument1 { "type": "text", "placeholder": "Project code" }

CODE="$1"
DATE=$(date +%Y-%m-%d)
BASE="$HOME/Editorial/drafts/${DATE}-${CODE}"
mkdir -p "$BASE"
touch "$BASE/draft.md"
touch "$BASE/notes.md"
open -a "iA Writer" "$BASE/draft.md"
echo "Created: $BASE"

Focus Mode Toggle. macOS Focus 모드 사이 전환. Shortcuts 앱과 연동해 Deep Work / Email Review / Off 사이를 순환.

#!/usr/bin/osascript
# @raycast.title Cycle Focus Mode
# @raycast.mode silent
# @raycast.packageName System

tell application "Shortcuts Events"
    run shortcut "Cycle Focus"
end tell

Recent Edits Search. 최근 편집한 파일을 검색하는 스크립트. Spotlight보다 빠르고, 편집 시간이 아닌 접근 시간 기준으로 정렬.

#!/bin/bash
# @raycast.title Recent Edits
# @raycast.mode fullOutput
# @raycast.packageName Files
# @raycast.argument1 { "type": "text", "placeholder": "Filename fragment" }

FRAGMENT="$1"
find "$HOME/Editorial" -type f -mtime -7 -name "*${FRAGMENT}*" -exec ls -lt {} + | head -20

TypeScript 확장 개발

Script Commands로 표현하기 어려운 인터랙티브 확장은 TypeScript로 개발합니다. Raycast API가 React 기반이라 UI 구성이 직관적입니다.

확장 개발 시작은 Raycast Create Extension 명령으로. 템플릿을 선택하면 기본 프로젝트 구조가 생성됩니다.

npx create-raycast-extension

템플릿 중 “Show Details from Backend” 같은 것이 시작점으로 좋습니다. API 호출과 결과 표시의 기본 패턴이 포함되어 있습니다.

편집팀 내부 확장 예시

편집팀은 내부용 확장 몇 개를 만들어 로컬로 사용합니다.

Style Guide Search. 편집팀 스타일 가이드를 마크다운 파일들로 관리하는데, 이 파일들을 검색하고 미리 보는 확장. 특정 표현이나 규칙을 즉시 확인할 수 있습니다.

Fact Check Assistant. 원고 안의 특정 주장을 검색해 관련 참고 자료를 표시. 완벽하지는 않지만 편집 과정에서 즉시 참고할 수 있는 자료를 찾는 데 유용.

Publish Queue. 편집 완료된 원고 목록. 게시 스케줄과 상태를 확인.

이런 내부 확장은 마켓플레이스에 배포하지 않고 로컬 개발 모드로만 사용합니다. Raycast Preferences > Advanced > Show in Menu Bar를 통해 로컬 확장을 활성화할 수 있습니다.

단축키 관리

Raycast는 각 명령에 개별 단축키를 할당할 수 있습니다. 편집팀의 표준 셋업:

Command+Space: Raycast 열기.

Option+Shift+C: Clipboard History.

Option+Shift+F: File Search.

Option+Shift+E: Emoji Search.

Option+Shift+N: New Editorial Draft (커스텀 스크립트).

단축키 할당은 Raycast 메인 창에서 명령을 선택한 뒤 Command+K > Configure Command에서 설정합니다.

동기화와 클라우드

Raycast Pro는 확장 설정, Quicklinks, 스니펫을 여러 디바이스 사이에 동기화합니다. 편집팀은 이 기능을 사용합니다. 데스크톱과 노트북 사이에서 같은 셋업을 유지할 수 있어 편리합니다.

다만 Pro 구독이 필요하다는 점, 그리고 팀 계정과 개인 계정을 명확히 분리해야 한다는 점은 주의할 지점입니다.

Alfred에서 옮길 때 고려할 점

Alfred 사용자가 Raycast로 옮길 때 참고할 만한 점입니다.

Alfred 워크플로우는 Raycast에서 직접 실행되지 않습니다. 재구현해야 합니다. TypeScript 확장 또는 Script Commands로 옮길 수 있습니다.

Snippets는 유사하게 지원됩니다. Alfred의 스니펫 컬렉션을 익스포트해 Raycast에 임포트할 수 있는 도구가 마켓플레이스에 있습니다.

Clipboard History는 두 앱이 유사하게 지원합니다.

Alfred가 특히 강했던 파일 액션(선택된 파일을 여러 방식으로 처리)은 Raycast에서 아직 완전히 대체되지 않았습니다. 이 부분이 중요한 사용자는 Alfred를 유지하는 편이 나을 수 있습니다.

결론

Raycast는 Spotlight의 대체품을 넘어 개인 워크플로우 통합 도구로 자리 잡을 수 있는 앱입니다. 특히 커스텀 스크립트와 확장 개발이 가능한 사용자에게는 장기적 투자 가치가 있습니다.

어떤 사용자에게는 이 유연성이 오히려 부담이 됩니다. 기본 Spotlight로 충분하고 커스터마이징에 시간을 쓰고 싶지 않다면 굳이 옮길 필요가 없습니다. 자동화와 통합에 관심이 있는 사용자에게 이 앱의 가치가 극대화됩니다.