Cloud sandboxes

actions.json — One-tap commands

Last updated: 2026-09-21

Turn tests, code generators, and other repeatable tasks into buttons. Add actions.json to your repository, then open Actions from the chat's ⋯ menu to run them on your connected Mac or cloud sandbox.

What it looks like#

Save this as actions.json at the repository root:

json
{
  "actions": [
    { "name": "test", "label": "Run Tests", "cmd": "npm test" }
  ]
}

Actions now shows a Run Tests row with a Run button. Tap it to start the command. The row shows progress, then the exit code, duration, and output. Exit code 0 means success. You can run several actions at once.

Actions run only when you ask. For automatic dev servers and watchers, use environment.json.

Create or edit in RepoGo#

Open Actions with no file yet and tap Create actions.json to make a starter file and open it in the editor. On iOS, the pencil in the Actions toolbar reopens the file; if there are several, choose which to edit. Pull down on the list to refresh it.

RepoGo also finds actions.json in subfolders and labels those actions by their source folder. This lets each app in a monorepo keep its own commands.

Options#

json
{
  "actions": [
    {
      "name": "test",
      "label": "Run Tests",
      "cmd": "npm test",
      "cwd": "apps/web",
      "timeoutMs": 300000,
      "island": true
    }
  ]
}
FieldWhat it does
nameRequired. A stable action ID, such as test or generate-api.
cmdRequired. The shell command to run. Pipes, variables, and scripts work.
labelButton label. Defaults to name.
cwdWorking folder relative to the repository root. Defaults to the root.
timeoutMsTime limit in milliseconds. Defaults to 30 seconds; 300000 allows five minutes.
detachSet true to return immediately with a Stop button. Detached runs have no output or exit result and stop after at most ten minutes.
islandSet true to put the action in the swipeable repo island above the chat composer on iPhone and iPad.

Each file supports up to 20 actions. Entries without name or cmd are skipped.

Run by voice#

With GPT Live on iOS, ask “What actions are available?” and then “Run the test action.” If names overlap, specify the label or source folder. Ask for status afterward to check whether the command finished; detached actions report that they were launched, not a completion result.

Explore RepoGo file types