This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
Build a feature from an issue with an AI agent
Edit page
Add an agentic workflow in which a coding agent builds what a GitHub issue asks for and opens a pull request that Agentic CI tests.
Expo Simulators is a limited-access preview. It is not included with paid or free plans and is currently available only to select partners. Join the waitlist if you are interested in trying it.
Issue to PR is an automated workflow in which a coding agent changes your code for a GitHub issue and opens a pull request (PR). Then Agentic CI tests the PR on a remote Android Emulator or iOS Simulator. You review a PR that has a verdict and evidence.
How Issue to PR works
When a person adds the agent label to an issue, these steps run. The highlighted steps run on EAS Workflows and Expo Simulators:
A person adds the agent label to an issue
An Action starts the Issue to PR workflow
A coding agent changes the code and opens a pull request
Agentic CI finds or builds the app and starts a session
A coding agent tests the change on a cloud simulator
A person reviews the verdict and merges the pull request
- A GitHub Action starts the Issue to PR workflow on EAS.
- A coding agent reads the issue and its comments, and changes the code.
- The workflow pushes the change to the branch
agent/issue-<number>, and opens a PR that closes the issue. - Agentic CI tests the PR on an Expo Simulators session, and posts the verdict on the PR.
Only people who can add labels to issues can start the agent. Read each issue before you add the label, because the agent follows the text of the issue.
Add Issue to PR with an AI agent
Paste this into Claude, Cursor, Codex, or another agent.
Add the Issue to PR workflow to my Expo project. Use https://docs.expo.dev/agentic-workflows/issue-to-pr.md as the source for each step and each file. 1. Check each step on https://docs.expo.dev/agentic-workflows/setup.md, and check that the Agentic CI workflow from https://docs.expo.dev/agentic-workflows/agentic-ci.md is in the project. Do each step that is not done. Use the version of .eas/agents/run-agent.sh for the agent that I name. 2. Create each file that the page shows, at the same path and with the same content. 3. When a step needs a token, an account, or a choice, stop and ask me. Do not print or save a token. 4. Run `eas workflow:validate .eas/workflows/issue-to-pr.yml`. 5. Commit the files, but do not push them. Tell me which files you added and which commands I must run.
Set up your project
Follow Set up a project for agentic workflows one time for your project, including Add a GitHub token to EAS. See What the agent can do to learn which limits apply to the agent.
Issue to PR needs Agentic CI, because Agentic CI tests each PR that the agent opens. Add Agentic CI first.
Add the Issue to PR workflow
1
2
Add the job script
The script does these tasks in this order:
- It clones the default branch, and removes the GitHub token from the remote URL of the clone.
- It reads the issue and the comments from the owners, members, and collaborators of the repository. Then it writes the prompt for the agent.
- It removes the Expo and GitHub tokens from the environment, and runs the agent in the
changemode in the app directory of the clone. - If the agent changed a file in .eas or .github, it stops and does not open a PR.
- If the agent changed no file, it adds a comment with the reason to the issue, and stops.
- It commits the change, pushes the branch, and opens a PR. Then it adds a comment with the PR link to the issue.
3
5
Add the GitHub Action
EAS Workflows does not start on issue events. This GitHub Action starts the EAS workflow when a person adds the agent label to an issue:
The Action installs the dependencies with npm ci, because EAS CLI reads the app config. If your project uses another package manager, change this command. For example, for Bun, replace the npm ci step with these steps:
- uses: oven-sh/setup-bun@v2 - run: bun install --frozen-lockfile
With --ref, EAS runs the workflow from the last commit of your default branch on GitHub. EAS CLI does not upload the project.
6
Start the agent on an issue
Create an issue that asks for one small feature. Tell the agent where the feature goes and what a user sees:
The command prints the address of the issue. The address ends with the issue number. Add the agent label to the issue:
The GitHub Action starts the Issue to PR workflow on EAS.
Read the result
When the agent finishes, the issue gets an Issue to PR comment with a link to the PR:
- The branch of the PR is
agent/issue-<number>. - The description of the PR is the summary of the agent, and ends with
Closes #<number>.
Then Agentic CI tests the PR, and posts an Agentic CI comment with the verdict. To try the feature yourself, select Try this build in your browser in that comment.
If the agent changes no file, the issue gets a comment with the reason. If the agent changes a file in .eas or .github, the job fails. The issue gets no comment. The log of the agent is in the Issue to PR workflow run. The Claude Code runner saves it in the artifacts, and the other runners print it to the job log.
To ask for another version, change the text of the issue. Then remove the label and add it again:
Next steps
Bug triage: a coding agent reproduces a bug from a GitHub issue or TestFlight feedback on a remote Android Emulator or iOS Simulator.
Agentic CI: a coding agent tests each pull request on a remote Android Emulator or iOS Simulator and posts a verdict with evidence.
Start, use, and always stop sessions from GitHub Actions, EAS Workflows, or another CI system.