BushelScript

Automate macOS to new heights

BushelScript Editor demo

BushelScript is a next-generation open-source alternative to AppleScript,
the language that enables deep automatic control over macOS

About BushelScript


Sample BushelScript programs

-- Display information.
let hello world be "Hello, world!"
let my message be "This creates an alert box in BushelScript."

alert hello world message my message buttons {"Got it"}
-- Draft an email.
use app Mail
let the recipient be "bob@example.com"
let the subject be "Hello from BushelScript!"

tell Mail
  tell make new outgoing message with properties {subject: the subject}
    make new to recipient with properties {address: the recipient}
  end
end
-- Eject a disk.
use app Finder
let disk name be "External HD"

tell Finder to eject disk named disk name 
notification "Disk '" & disk name & "' ejected."
-- Find large files.
#!bash
mdfind -onlyin ~ "kMDItemPhysicalSize > 1000000" |
  wc -l |
  ruby -pe '$_.strip!'
#!
let count be that

alert "Your home folder has " & count & " items over 1 MB."
-- Search for songs.
use app Music

name of every track of Music
join that by "`"
#!ruby
keyword = 'Christmas'
print gets
  .split('`')
	.filter {|item| item =~ /#{keyword}/i }
  .join("\n")

Check out the help site for guides, reference material, and other docs


Grab the latest beta release here

The latest version is at the top of the page.

Alternatively, build from source (requires Xcode)


BushelScript

Watch Star Fork Issue