Anki-Android icon indicating copy to clipboard operation
Anki-Android copied to clipboard

docs: Improve CONTRIBUTING.md

Open david-allison opened this issue 1 month ago • 6 comments

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

david-allison avatar Dec 09 '25 22:12 david-allison

Is it ok to mention that OP can ping for need review label IMO it might led to spam for reviewers

criticalAY avatar Dec 10 '25 00:12 criticalAY

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.

david-allison avatar Dec 10 '25 01:12 david-allison

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.

ShaanNarendran avatar Dec 10 '25 11:12 ShaanNarendran

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

mikehardy avatar Dec 10 '25 14:12 mikehardy

I agree with Mike

criticalAY avatar Dec 10 '25 19:12 criticalAY

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

david-allison avatar Dec 11 '25 00:12 david-allison

I've added a one-time git setup section, as requested

david-allison avatar Dec 14 '25 04:12 david-allison

Changes applied and force pushed

david-allison avatar Dec 15 '25 06:12 david-allison