This repository contains a library that enables a single JavaScript file to run:
- In CLI on macOS
- From the share sheet on iOS/iPadOS (Using Shortcuts)
- From the home screen on iOS/iPadOS (Using Shortcuts)
- In the Scriptable App on iOS/iPadOS
This repository also includes a set of automation scripts written using this library.
For example, the included Sum.js file allows a user to:
- In CLI on macOS, run
sum.js -n "1 2 3"to output:6 - In iOS, select
1 2 3(ex: in Notes) → Share → Sum, and a notification of6will pop up. - In the iOS home screen, tap
Sum, fill a "Numbers" prompt, and be notified with the sum. - In the iOS Scriptable app, tap
Sum.jsto run the script just like on the home screen.
All four use cases are running the same JS file, synchronized over iCloud. Importantly, none of the use cases force the user to switch apps - they all run in whatever app/screen the user is currently on. While Sum.js is a simple example, arbitrarily complex scripts can be written that:
- Request complex input (date/times, choosing from a set, files/folders, etc.)
- Download/Upload Data
- Reading/writing to the filesystem (text or binary)
- Displaying notifications, text logs, rich HTML, or rendered Markdown
The lib README describes how to setup and use the library to create new scripts that run on all platforms.
The following scripts are included in this repository.
Once set up, run each script with -h or --help for documentation. Help messages may refer to paths starting with $, which means "the script directory". For example, $/README.md refers to this file, and $/lib/README.md refers to the lib README.
The ⎋ symbol indicates that a script accepts share-sheet input.
- App Lists
- Calc
- SteamData
- App Lists Import
- App Lists Item
- App Lists Manage
- Hue Cycle
- LifeLog Log
- LifeLog Markdown
- LifeLog New
- LifeLog Steam
- LifeLog Stop
- Temperature Log
- ⎋ Game Add
- ⎋ LifeLog Url Finish
- ⎋ LifeLog Url Start
- ⎋ LifeLog Url Time
- ⎋ LifeLog Url
- ⎋ Turnip Add
- App Lists Update
- Games Recap Markdown
- LastFM History
- LifeLog Update Metadata
- Music Playlists
- Music Releases
- Music Similar Artists
- Music Top Tracks
- Plex Get Library
- Shuttle Update
- SteamCloud
- SteamData Update
- Bill Split
- Caller
- Laundry Delay
- Pass New Random
- Pass New Words
- TimeStamp Get
- TV Randomizer
- ⎋ Base64
- ⎋ Camel
- ⎋ Numbered
- ⎋ Sum
- ⎋ TimeStamp
- ⎋ Unprefixed
- ⎋ Upper
- ⎋ UrlParam
- ⎋ Word Count
- ⎋ Word Suggest
- ⎋ Word Unformat
- App Icons
- Folder Union
- Kbin Download History
- Retroarch Doom Config
- Retroarch Download Images
- Retroarch Download Pico8
- Retroarch Download Tree
- Retroarch Make Playlist
- Retroarch Set Config
- Retroarch Steam Config
- Retroarch Steam Grid
- Retroarch Upload Tree
- Scriptable Build
- TV Renamer
- ⎋ Bsp Patcher
- ⎋ Markdown Compile
- ⎋ Markdown File
- ⎋ Markdown Folder
- ⎋ Open Frinkiac in Plex
- ⎋ Open from FB
- ⎋ Open in Archive
- ⎋ Open in Lyft
- ⎋ Open in Narwhal
- ⎋ Open in Safari
- ⎋ Open Key in Steam
- ScriptableHelperCopy