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.

MainAxisAlignment

Main axis distribution options

Distributes children along the main axis: vertical in a Column, horizontal in a Row. The stack always fills its main axis, so every value has space to work with. start and end push content to one end, center pads both, and the space* values share the gap between children. spaceAround currently renders the same as spaceEvenly.

Properties

startString
centerString
endString
spaceBetweenString
spaceAroundString
spaceEvenlyString

Examples

Pushing content apart

// header at the top, controls at the bottom, gap in between
Column({
  mainAxisAlignment: MainAxisAlignment.spaceBetween,
  children: [header, controls],
})