pushrobin docs
How to Use pushrobin
pushrobin is designed to streamline your development process by automatically generating pull requests based on your GitHub issues. Here's how it works:
Create an Issue:
Start by creating a new issue in your GitHub repository. Describe the feature or bug fix you want to implement. Provide context on which files you think might need updating or which parts of the codebase to use as reference.Bot Activation:
Once the issue is created, the pushrobin bot is automatically triggered.Background Processing:
The bot analyzes your issue description and your repository's codebase.PR Generation:
Based on the analysis, pushrobin generates a pull request with proposed changes to address the issue.Review and Merge:
You can then review the generated PR, make any necessary adjustments, and merge it if satisfactory.
This process allows you to quickly turn ideas and bug reports into actionable code changes, saving time and streamlining your development workflow.
How to Get Better PRs
Pushrobin isn't perfect - it's only as good as the data you give it.
aiinfo.md and airobots.txt files
You can improve the quality of PRs generated by pushrobin by adding two special files to your repository:
.pushrobin/aiinfo.md
This file acts as a "readme" for the AI, providing context about your project and coding standards. You can also include information about specific libraries in your repo that pushrobin may need additional information on or common fixes that you need to do in multiple PR reviews for pushrobin.
.pushrobin/airobots.txt
This file tells pushrobin which files to read in the repo entirely, helping it understand your project structure better.
By creating these files, you can guide pushrobin to generate more accurate and relevant pull requests for your project.
To see examples of these files, take a look at this github repo.
Giving more context in your issues
You should aim to give as much context as possible in your issues - think of pushrobin as a junior engineer who needs a lot of guidance. Here are some tips:Provide specific code references - if you want pushrobin to update a specific Hero component in your app, give it a github link to that Hero file. For example, you would want to mention this exact link as part of github's issue markdown: https://github.com/Flux159/next-postgraphile/blob/master/src/components/Hero.tsx)
Provide a link to a website that you want pushrobin to read before writing code. Pushrobin will try to read public websites & gather information from them. Note that if the site is not available for bots, it may not be possible to read the site - in which case you may want to copy paste the relevant content into the issue.
Writing good issues may take time to get right. Pushrobin's founder worked at Facebook as an engineer and had to write many "bootcamp" tasks for new engineers looking to join his team. He quickly realized that a good bootcamp task was very specific, had a clear goal, and had all the information needed to complete the task - including code references, how to get started, etc. This is the same for pushrobin - the more information you give it, the better the PRs will be.
Examples
Here are some examples of pushrobin in action. These showcase how the AI agent can help with different types of projects and programming languages.
Game of Life
A React implementation of Conway's Game of Life, developed entirely by pushrobin. This example demonstrates how pushrobin can help with frontend development and game logic.
Flappy Bird
A Phaser implementation of the classic Flappy Bird game (primarily coding logic), developed entirely by pushrobin. This example showcases how pushrobin can help with game development in Phaser JS.