Revyl Documentation

Integrations / Cursor

Proof via Cursor

Get device-backed proof on every PR from your existing CI, without installing the Revyl GitHub App

The easiest way to get Proof of Changes running is the GitHub App. This guide covers the alternative: setting up Proof of Changes with a Cursor Automation when you can't install the GitHub App, or you use a different SCM provider.

Set up with an agent

Paste one prompt and your coding agent does the rest.

Setup prompt

Get Revyl proof of changes on this repository's pull requests through Cursor, from its existing CI.

Read https://docs.revyl.com/integrations/cursor/proof.md and follow it. It's the current Revyl guide for this, so prefer it over anything you remember about Revyl.

Add `revyl build upload` right after the CI step that builds the simulator `.app` or debug `.apk`, and keep `REVYL_API_KEY` in CI secrets. I'll create the Cursor Automation myself.

You're done when a pull request's CI uploads its build to Revyl.

Ask me before anything that needs my login or approval.

Who this is for

This guide is for teams that:

  • Already build every PR in their own CI (GitHub Actions or equivalent)
  • Already use Cursor Automations
  • Want a device-backed proof comment on the PR
  • Haven't connected the Revyl GitHub App yet

What happens on each PR

CI builds the app
  → Uploads the build to Revyl: revyl build upload
  → Cursor Automation starts
  → Matches Revyl build for the PR head SHA
  → Starts the Revyl session: revyl device start
  → Captures screenshots + validations
  → Saves the session URL
  → Comments on the PR with the collected information

If no matching build exists, the Automation comments that proof was not run and stops — it never rebuilds and never claims proof without a device session.

Getting started

1. Install Revyl in Cursor

Install the Revyl plugin and authenticate.

2. Add an upload step to CI

After your existing build produces a simulator .app or installable .apk, upload it. In a GitHub Actions job:

- name: Install Revyl CLI
  run: |
    curl -fsSL https://revyl.com/install.sh | sh
    echo "$HOME/.revyl/bin" >> "$GITHUB_PATH"

- name: Upload build to Revyl
  run: |
    revyl build upload \
      --file path/to/app.apk \
      --app "<your-app-id>" \
      --platform android \
      --version "$PR_HEAD_SHA" \
      --yes \
      --json
  env:
    REVYL_API_KEY: ${{ secrets.REVYL_API_KEY }}
    PR_HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }}

In a pull request job, the upload goes to the pull request's source branch. On another CI, run the same command with the pull request's head commit as --version, and see Choose where CI uploads go for where its uploads land.

See the ready-made upload-for-cursor-proof.yml workflow in the public CLI examples. It stores REVYL_API_KEY as a CI secret and the app id as a variable; GitHub Actions metadata (scm_head_sha, PR number, and related fields) is stamped automatically so the Automation can match the build to the commit.

3. Enable the Cursor Automation

Create an Automation at cursor.com/automations:

  1. Paste the prompt from PROMPT.md.
  2. Enable Comment on pull request and shell. Do not enable Revyl MCP.
  3. Trigger CI completed / Workflow run completed on the upload job. Do not use Pull request pushed as the default.
  4. Add secret REVYL_API_KEY and variable REVYL_APP_ID.

Full trigger and identity notes: AUTOMATION_SPEC.md.

On this page