Zum Inhalt springen

Raycast Workflows für Webentwickler – Commands, Snippets & Automationen (2025)

· von

Raycast ersetzt für mich den Großteil der Klick-Arbeit: Projekte öffnen, Builds starten, Skripte abfeuern, Git-Aktionen, Snippets. Hier sind die Workflows, die ich täglich nutze.

Raycast Workflows für Entwickler – Übersicht

~9 Min. Lesezeit · Veröffentlicht am

🔧 Mein Setup kurz:

  • Finder/VS Code/Open in iTerm Shortcuts
  • Skripte: goHomeAll, statusAll, Backup/Zip
  • GitHub: Issues/PRs/Clone via Raycast

Starter-Set: Essentials

Eigene Commands

# ~/Scripts/open-project.sh
#!/usr/bin/env bash
code "$HOME/WorkSource/$1"
open -a iTerm "$HOME/WorkSource/$1"

In Raycast als „Script Command“ hinterlegen und mit Parametern (Projektname) aufrufen.

Snippets & Placeholders

// Snippet: Blog-Meta-Block (Raycast)
<meta name="description" content="{description}">
<meta property="og:image" content="/assets/img/blog/{slug}.jpg">

Git & Repos

Aktionen: Clone Repo, Open Pull Requests, Create Issue. Mit Organisation/Repo-Shortcuts sparst du Suchzeit.

Build & Deploy

# Script Command: build-current
#!/usr/bin/env bash
cd "$PWD" && node build.mjs --build

Optional: „Deploy to Server“ anstoßen (rsync/ssh), Log als Raycast-Toast ausgeben.

Tipps & Sicherheit

Praxis: 5 Script-Commands

Raycast Script Commands sind einfache Shell- oder Node-Skripte mit Metadaten im Header. Lege sie z. B. unter ~/Scripts/ ab und mache sie ausführbar (chmod +x). Hier sind fünf sofort nutzbare Beispiele.

1) Projekt öffnen (VS Code & iTerm)

#!/usr/bin/env bash
# @raycast.schemaVersion 1
# @raycast.title Open Project
# @raycast.mode silent
# @raycast.packageName Projects
# @raycast.argument1 {"type":"text","placeholder":"Projektname (Ordner in WorkSource)","optional":false}
# @raycast.icon 📂

code "$HOME/WorkSource/$1"
open -a iTerm "$HOME/WorkSource/$1"

2) Build im aktuellen Ordner

#!/usr/bin/env bash
# @raycast.schemaVersion 1
# @raycast.title Build current (node build.mjs)
# @raycast.mode compact
# @raycast.packageName Build
# @raycast.currentDirectoryPath true
# @raycast.icon 🛠️

node build.mjs --build && echo "Build OK" || echo "Build FAILED"

3) Blog-Only-Build

#!/usr/bin/env bash
# @raycast.schemaVersion 1
# @raycast.title Build Blog
# @raycast.mode compact
# @raycast.packageName Build
# @raycast.currentDirectoryPath true
# @raycast.icon 📑

node build.mjs --blog

4) Git Status All (übersicht)

#!/usr/bin/env bash
# @raycast.schemaVersion 1
# @raycast.title Git Status All
# @raycast.mode fullOutput
# @raycast.packageName Git
# @raycast.icon 📝

for d in "$HOME/WorkSource"/*; do
  if [ -d "$d/.git" ]; then
    echo "\n=== $(basename "$d") ==="
    git -C "$d" status --short
  fi
done

5) StartDay Backup

#!/usr/bin/env bash
# @raycast.schemaVersion 1
# @raycast.title StartDay Backup
# @raycast.mode fullOutput
# @raycast.packageName Backup
# @raycast.icon 💾

DEST="$HOME/Library/Mobile Documents/com~apple~CloudDocs/Work/BackUpStartDay"
DATE=$(date +%Y-%m-%d)
for d in "$HOME/WorkSource"/*; do
  name=$(basename "$d")
  mkdir -p "$DEST/$name/$DATE"
  rsync -a --delete "$d/src/" "$DEST/$name/$DATE/src/" 2>&1 || true
  # Optional: Xcode-Projekte sichern
  if [ -d "$d/xcode" ]; then
    rsync -a --delete "$d/xcode/" "$DEST/$name/$DATE/xcode/" 2>&1 || true
  fi
  echo "Backup für $name abgeschlossen."
done

Praxis: Project Switcher (Auswahlmenü)

Mit einem Auswahlmenü (fzf) wählst du Projekte schneller aus. fzf installierst du über Homebrew.

#!/usr/bin/env bash
# @raycast.schemaVersion 1
# @raycast.title Project Switcher
# @raycast.mode silent
# @raycast.packageName Projects
# @raycast.icon 🔀

PROJECT=$(ls -1 "$HOME/WorkSource" | fzf)
[ -z "$PROJECT" ] && exit 0
code "$HOME/WorkSource/$PROJECT"
open -a iTerm "$HOME/WorkSource/$PROJECT"

Praxis: Repo Quick Actions

Häufige Git-Aktionen als Einzeiler – mit Safety‑Net (Abort bei uncommitted merges/rebases).

#!/usr/bin/env bash
# @raycast.schemaVersion 1
# @raycast.title Git Pull & Prune
# @raycast.mode compact
# @raycast.packageName Git
# @raycast.currentDirectoryPath true
# @raycast.icon 💎

if git rev-parse --git-dir > /dev/null 2>&1; then
  if [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; then
    echo "Rebase aktiv – Aktion abgebrochen."; exit 1
  fi
  git fetch --prune && git pull --ff-only && echo "Aktualisiert."
else
  echo "Kein Git-Repo"; exit 1
fi

Praxis: Backup & Zip (Rotationsprinzip)

#!/usr/bin/env bash
# @raycast.schemaVersion 1
# @raycast.title Backup+Zip current
# @raycast.mode fullOutput
# @raycast.packageName Backup
# @raycast.currentDirectoryPath true
# @raycast.icon 📦

set -e
NAME=$(basename "$PWD")
DEST="$HOME/Library/Mobile Documents/com~apple~CloudDocs/Work/Backups/$NAME"
mkdir -p "$DEST/zips" "$DEST/history"
rsync -a --delete ./ "$DEST/history/$(date +%Y-%m-%d)/"
ZIPFILE="$DEST/zips/${NAME}-$(date +%Y-%m-%d-%H%M).zip"
/usr/bin/zip -rq "$ZIPFILE" .
# nur 5 ZIPs behalten
ls -1t "$DEST/zips" | tail -n +6 | while read f; do rm -f "$DEST/zips/$f"; done
printf "Fertig: %s\n" "$ZIPFILE"

Praxis: Toast-Logs & Fehlerbehandlung

Nutze eine kleine Helper‑Funktion, um Status‑Meldungen in Raycast anzuzeigen (stdout genügt, bei compact Mode erscheinen Toasts).

#!/usr/bin/env bash
log(){ printf "%s | %s\n" "$(date +%H:%M:%S)" "$1"; }
log "Starte Build"
if node build.mjs --build; then
  log "Build erfolgreich"
else
  log "Build FEHLGESCHLAGEN"; exit 1
fi

Troubleshooting

Cheat‑Sheet