Fix It For Me is currently in Beta. If you would like early access, please reach out to us.
Overview
Fix It for Me allows Macroscope to automatically create branches, commit code changes, and open pull requests in your GitHub repositories. When a user replies to a Macroscope review comment requesting a fix, the system creates a new branch, applies the fix via an AI agent, and opens a pull request with the changes.Fix It For Me Steps:
- User replies to a Macroscope review comment requesting a fix, or asks Macroscope to create a PR from Slack
- Macroscope creates a new branch
- The Macroscope agent generates and commits the fix on that branch
- Macroscope opens a pull request. If generated from a Github review comment, the base of the PR will be the feature branch of the originating PR. If generated from Slack, the base of the PR will be your main development branch.
- GitHub Actions and CheckSuites run on the new PR. If any of these fail, Macroscope will attempt to automatically make fixes and commit them to the branch until all the actions pass.
- If the base of the PR is a feature branch, Macroscope will attempt to auto-merge the PR back to the base branch. This will only happen if you have the auto-merge Macroscope setting enabled and all checks pass. Any Macroscope PRs against your main development branch will always need to be manually merged.
GitHub Branch Protection Configuration
As a general rule, you should not need to add any extra branch protection rules to your Github configuration for Fix It For Me to work. As long as you have general protection rules on your main and deployment branches, you can keep all of those as they are. Macroscope will not write directly to any main branches, and should operate the same as any other developer on your team. For Fix It For Me to work, Macroscope needs the ability to create new branches and to push changes to those branches. Branches created by Macroscope will always follow the naming pattern ofmacroscope/*/**. If you have rules that apply to all branches, including restrictions to how changes are pushed, you may need to update them to exclude branches generated by Macroscope. This includes settings such as “Require a pull request before merging” and “Block force pushes”.
GitHub Actions and Check Runs
Fix it For Me relies on your already configured Github Actions and CheckSuite Runs to determine if the change is free of issues and safe to be merged. This allows us to use the same safety checks for Macroscope PRs that you already use for any other work the team creates. In some cases, you may want to limit which actions or CheckSuites run on Macroscope PRs to reduce latency or cost. For example, you may want to not run certain actions that take a very long time intended to protect merging into the main branch, as Macroscope would wait for that action to complete every time before making further fixes or merging the fix into the originating branch. If you want to limit this, you can add Github rules for any branches generated by Macroscope (following themacroscope/*/** naming convention), and select the specific set of actions you want to run in these cases.