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 informationIf 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:
- Paste the prompt from
PROMPT.md. - Enable Comment on pull request and shell. Do not enable Revyl MCP.
- Trigger CI completed / Workflow run completed on the upload job. Do not use Pull request pushed as the default.
- Add secret
REVYL_API_KEYand variableREVYL_APP_ID.
Full trigger and identity notes:
AUTOMATION_SPEC.md.