Open jgonggrijp opened 10 years ago
I approve! However, I think that it shouldn't change any of the files automatically, rather it should use some diff tool to show what the file will change into, and have the hacker approve the change.
I think that the tool should also go to the point of making the pull request using info it gathered earlier in the process + info that the hacker gives it during the pull request.
Of course I agree the program should not just go ahead and change files without the hacker knowing about it. It should announce what it's going to do and what the change will look like. But it's convenient for the hacker if they only need to press enter to make it happen.
It would be very cool if the assistant could even automate the pull request, but I doubt whether that could be done with the GitHub API. After all somebody needs to be signed in to GitHub in order to do a pull request.
Edit: I read up on the GitHub API and it seems that automated pull requests should actually be possible!
I'm thinking of a program that can assist hackers who are working on a pull request. It should ensure that all necessary steps are taken and take as much work out of a hacker's hands as possible. It should be very friendly to make hackers feel appreciated. I suggest the name
rsp-assistant
. When a hacker runs the command it should do the following things, probably in this order:rsp-assistant
has been run before and offer the choice between switching to another branch and starting another pull request if the current branch is not the same as the previous time (this can be remembered using a file inconfig
).doc
or with an entry in thedocumented_cmds
list insetup.py
. If neither is the case, suggest that the hacker add a-h
option to the command and request that they add a file indoc
(preferred) or add the-h
invocation to thedocumented_cmds
list.origin
and tell the hacker to do a pull request (if they haven't done so before). Explain to them what needs to be in the pull request. This typically includes:Ideally
rsp-assistant
should be as contextualized as possible. For example, if it can read the configuration file ofrsp-tutorial
(see #72) to detect out what kind of contribution is being worked on (for example a bugfix), that can help to make the advice more specific. It may also be able to use the GitHub API to figure out whether the hacker has done a pull request yet.Edit: I should mention that @mrhmouse and @firerogue deserve credit for this idea.