# Reflow Launcher

**Your home screen is a file.**

Reflow is an Android launcher whose whole layout lives in one file, `launcher.json`, in a folder you choose. Rearrange apps on your phone and the file updates. Edit the file on your computer, or let an agent edit it, and the phone updates.

- Source, releases and the full editing guide: https://github.com/Nasawa/config-launcher
- Schema (JSON Schema 2020-12): https://github.com/Nasawa/config-launcher/blob/main/schema/launcher-config.v1.schema.json

## How it works

- **Arrange it on the phone.** Long-press, drag, drop. The launcher writes every change back to `launcher.json` in its canonical form.
- **Edit it on your computer.** Sync the folder (git is recommended; Syncthing works too). Edit the JSON, run `python3 scripts/validate.py launcher.json`, and the phone follows.
- **Hand it to an agent.** The schema and editing rules are published, so an AI agent can arrange your apps. Review the change like any other edit.

## A minimal valid file

```json
{
  "schemaVersion": 1,
  "revision": 1,
  "grid": { "columns": 4, "rows": 5 },
  "pages": [
    { "id": "home", "items": [
      { "id": "a-settings", "type": "app", "package": "com.android.settings", "x": 0, "y": 0 }
    ] }
  ],
  "dock": [
    { "id": "a-dialer", "type": "app", "package": "com.google.android.dialer" }
  ],
  "drawer": { "sort": "label", "hidden": [], "rules": [] }
}
```

## What it asks for

- One folder, picked with Android's system folder picker. Revocable.
- No storage permission, no `QUERY_ALL_PACKAGES`, no Accessibility service.
- No internet fetches. Widgets show data your agent writes into the folder.
- Android 10 and later.
