docs: Improve CONTRIBUTING.md
Preview: https://github.com/david-allison/Anki-Android/blob/contributing-md-2/CONTRIBUTING.md
This is the start of a proper onboarding guide. I haven't discussed the ideas in this PR heavily, so thoughts on rewordings/content is much appreciated.
There's a number of issues we're encountering:
- Duplicated work on PRs (assigned/PRs submitted)
- Closing & making a new PR rather than force pushing
- Submitting via Android Studio, avoiding the PR template
- Excessive notifications when broken PRs are pushed
- Unable to rebase
- (Not vital for the first few contributions)
- Not knowing what to do with
squash-merge
This should being to clear up some of the above
Checklist
- [x] You have a descriptive commit message with a short title (first line, max 50 chars).
- [x] You have commented your code, particularly in hard-to-understand areas
- [x] You have performed a self-review of your own code
- [ ] UI changes: include screenshots of all affected screens (in particular showing any new or changed strings)
- [ ] UI Changes: You have tested your change using the Google Accessibility Scanner
Is it ok to mention that OP can ping for need review label IMO it might led to spam for reviewers
IMO: If something doesn't have a review label after 24 hours, we can fix that within a minute. The same for if the status is incorrect. I'm personally fine receiving a ping, but we may want a separate group for 'pingable reviewers' to cut down on spam for people who don't want it.
Our PR queue is too large right now, and we should be focusing on reducing this. I don't believe I posted a hard 'your PR will be reviewed within X', mostly because we don't always have the resources to do this.
But we probably should have something. At least personally: if something isn't seen within a week, it probably slipped through the cracks in my notification queue, or I explicitly held it back, and should have communicated this and a timeline.
Everything else is good I feel, I'm able to understand everything. Though, maybe a warning to look into git would be a nice addition because when I was looking at previous prs for a few issues, I saw people had issues like I did where they wouldn't branch properly and there'd be commits from main in their branch. Since, reviewers have to end up commenting every time maybe an addition like that could help so that if at least a few new contributors read it, they wouldn't mess up too much in their prs. This is like a suggestion/nitpick, I think overall it's great!
Some more thoughts after reading it again, maybe transferring these git commands that are there in the dev guide to this doc:
git checkout main git pull upstream main git checkout -b my-feature-branch //make your changes to the source code git push origin HEAD
would be a good addition, because I think its very important (after personal experience) that you don't touch main so that you don't mess up the commits. Also, this should help with people submitting via android studio because I've been mainly following the above set of lines and I've always had to go through GitHub to make a pr. I actually have no clue how you directly submit one from android studio. Maybe a reminder to commit would be nice too, I was having issues with my first pr because I didn't add and commit my changes.
There is no mention of LLM-generated content at all and I think that's pretty important these days...
Everything else looked good when I scanned yesterday but I had that thought just now - this might be the natural home for an anchor that's linkable and an AI policy. We've discussed it on Discord so whatever you cook up with regards to a policy will probably either achieve consensus on first pass at this point or be really close and just a slight tune away from consensus
I agree with Mike
this might be the natural home for an anchor that's linkable and an AI policy. We've discussed it on Discord so whatever you cook up with regards to a policy will probably either achieve consensus on first pass at this point or be really close and just a slight tune away from consensus
My intention with this page is that we will summarize and link our future AI policy, similarly to how we link our 'CI Checks' or 'Development Guide' docs.
- I want to keep this page as brief as possible - we don't want to be adding roadblocks unless they're necessary
- I want a 'base' page to include the policy in, rather than basing this page around the creation of the policy
EDIT: added
- https://github.com/ankidroid/Anki-Android/issues/19741
I've added a one-time git setup section, as requested
Changes applied and force pushed