Rootless

Automate iOS, iPadOS, and macOS using plain JavaScript. Build custom widgets and interact directly with native APIs.

Download on the App Store
Rootless app interface

Plain JavaScript

Supports ES6. Scripts are stored as plain .js files on your disk.

Native APIs & Documentation

Integrate directly with iOS native APIs. Fully documented, available offline.

Siri Shortcuts

Trigger scripts via Siri. Present tables, websites, and custom HTML natively.

System Integration

Run from the Share Sheet, process inputs, and manage local files via Files.app.

x-callback-url

Communicate seamlessly and trigger workflows with other apps on your device.

Customizable & Ready

Tailor the code editor to your liking. Includes several example scripts to start immediately.

Documentation

Also inside the app, or as rootless.json.

Safari

In-app browser, or hand off to Safari

Safari.present opens a page inside the app and returns when it closes. Safari.open hands the URL to the system browser and carries on. In-app only; check isAvailable.

Properties

isAvailableBoolean

False in a widget.

Methods

Safari.present(url, options?)void

In-app browser. Blocks until it is dismissed.

  • url String required

    The page to open.

  • options Any
    • readerMode Boolean

      Open in Reader when the page supports it.

Safari.open(url)void

Hands the URL to the system browser.

  • url String required

Examples

Reading a link

Safari.present("https://example.com", { readerMode: true });