Swift scripts made easy with automatic dependency and Swift version management.
Ruby Shell
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.



Build Status No Maintenance Intended

Cato makes it easy to run Swift scripts, by utilizing chswift to choose the right Swift version and Rome to install missing dependencies.

If you don't know what Swift scripts even are, check out Ayaka's talk.


$ gem install cocoapods cocoapods-rome
$ brew tap neonichu/formulae
$ brew install cato


Cato is supposed to be run via a script's hash-bang directive:

#!/usr/bin/env cato

import Chores

let result = >["xcodebuild", "-version"]

Any frameworks that do not ship with the system will be installed into their own private directory under $HOME/.📦, named after the script's basename. Note that for performance reasons, the installation will only run the first time a script is executed.

Optionally, you can specify the version of Swift required to run the script:

#!/usr/bin/env cato 1.2