Raven
Guide: Scripts

Scripts

Put any executable file into ~/Library/Application Support/Raven/Scripts and it becomes a Raven command.

Deploy a website, turn off the thermostats: whatever you can script, Raven can run, without Raven growing a feature for it. Scripts run in the background. Whatever they print arrives as a notification when they finish. If a script fails, Raven’s menu bar icon shows a badge and the launcher shows a note the next time you open it, so a failure isn’t lost to Do Not Disturb.

Describing a script

Optional # raven. comments at the top of the file set how it appears:

#!/bin/zsh
# raven.name: Deploy Website
# raven.keyword: deploy
# raven.icon: 🚀
# raven.description: rsync the site to the server
# raven.argument: optional
# raven.confirm: true
Field Meaning
name What the result is called. Defaults to the file name, tidied up: deploy-website.sh becomes “Deploy Website”.
keyword Type it, a space and some text, and the text is passed to the script as $1.
icon An emoji or the name of an SF Symbol.
description The line under the name.
argument none (the default), optional or required. A script that requires one reopens Raven with its keyword typed.
confirm true asks before running.

Raven only reads these comments; it never runs a script to find out about it. Files without the executable bit are ignored, and a new script is searchable within a second of arriving in the folder.