Generate a command with AI

Clyde commands are simple JSON. That makes them unusually easy for AI to generate correctly. Describe your idea, get working code in seconds. No AppleScript knowledge required.

How JSON commands work

A command is just a JSON file in ~/.clyde/modules/. Five fields. That's it. AI can produce this reliably every time because the schema is so small.

Schema

{
  "module": "productivity",
  "displayName": "Productivity",
  "description": "...",
  "color": "purple",
  "commands": [
    {
      "name": "...",
      "keywords": [],
      "executor": "urlScheme",
      "target": "...",
      "description": "..."
    }
  ]
}

Example: Open daily journal in Obsidian

{
  "module": "obsidian",
  "displayName": "Obsidian",
  "description": "Obsidian commands",
  "color": "purple",
  "commands": [
    {
      "name": "Open Daily Journal",
      "keywords": ["journal", "daily"],
      "executor": "urlScheme",
      "target": "obsidian://daily",
      "description": "Open today's daily note"
    }
  ]
}

Executor types

urlScheme

Opens a URL or deep link

obsidian://daily, https://github.com

shell

Runs a shell command

open -a Terminal, kill -9 $(lsof -ti:3000)

applescript

Runs AppleScript source

tell application "Finder" to empty trash

shortcut

Runs a Shortcuts.app shortcut by name

My Morning Routine

Installing a JSON command

1
Save the file as my-module.json
2
Drop it into ~/.clyde/modules/
3
Open Clyde and run reload modules
4
Your new command is live — type its name or any keyword to trigger it

How shell scripts work

For interactive flows — dialogs, prompts, file pickers, multi-step logic — use a .sh script. The JSON command just points to it with executor: "shell".

The script — ~/.clyde/scripts/search.sh

#!/bin/bash
query=$(osascript -e '
  tell app "System Events"
    text returned of (display dialog \
      "Search Google:" default answer "")
  end tell
')
open "https://google.com/search?q=$(\
  python3 -c "import urllib.parse,sys; \
  print(urllib.parse.quote(sys.argv[1]))" \
  "$query")"

The JSON command that calls it

{
  "module": "search",
  "displayName": "Search",
  "description": "Interactive search",
  "color": "blue",
  "commands": [
    {
      "name": "Search Google",
      "keywords": ["search", "google"],
      "executor": "shell",
      "target": "bash ~/.clyde/scripts/search.sh",
      "description": "Ask for a query, open in Google"
    }
  ]
}

Installing a shell script command

1
Save the script as ~/.clyde/scripts/my-script.sh
2
Make it executable: chmod +x ~/.clyde/scripts/my-script.sh
3
Save the JSON command pointing to it in ~/.clyde/modules/
4
Run reload modules in Clyde

Inspiration

Not sure what to build? Here are ideas by category — click any to pre-fill the generator above.

Give back to the community

Built something useful? The registry is just a GitHub repo — your module is one pull request away from being available to every Clyde user. No accounts, no review process beyond a PR.

2
Add your .json file to the public/registry/ folder
3
If you have a .sh script, add it to public/scripts/ and reference it in your JSON
4
Open a pull request — that's it