Create a RubyGem 92: Add Contributing Guidelines to the Project
Channel: Stateless Code
Date: 2023-02-18

In our NerdDice.com series, we received a spontaneous pull request to collaborate while we were working on our Devise epic. This prompted us to create a CONTRIBUTING.md file in the repository to encourage and set expectations for collaboration. 

When we did our video creating the contribution guidelines for the NerdDice.com project, we also added an item to the backlog of the NerdDice gem to do the same.

For the most part we, adapt what we already had in the NerdDice.com version, making some small changes for the project being a RubyGem instead of a Rails project. We also discover that in the NerdDice.com CONTRIBUTING.md file we accidentally linked to the NerdDice gem's issue log. We place an item to take care of that later.

We also make some changes to the README to adjust to the existence of a separate contribution guidelines file and add more named anchor tags to allow for linking to sections of the README.

Interestingly enough, it turns out that while we were recording this video, we received an offer to help collaborate on it. The specific collaboration (creation of a Code of Conduct), isn't something we're interested in adopting, but we thank our collaborator and encourage future participation and input.

This video covers:
00:00:12 Introduction and review of NerdDice.com version of contributor guidelines
00:01:47 Paste existing content into GitHub markdown editor and demonstrate how linking within the same repository works
00:03:58 Discuss how we plan to modify the README
00:04:31 Start adapting and demonstrate the additions of the anchor tags to each section of the README
00:05:59 Discover that the NerdDice.com contributing guidelines mistakenly refers to the NerdDice gem and add an item to that project's backlog to fix it
00:07:37 Preview the adapted draft of the guidelines
00:09:14 Paste raw markdown into Visual Studio Code and review diff
00:10:24 Git rid of the old Development and Contributing sections from the README.
00:11:02 Check out branch, commit, push
00:12:24 Test the links and functionality on the new branch
00:15:32 Discover a mistake in the fork link referring to the Rails project repo instead of the RubyGem repo and continue testing
00:18:05 Correct the mistake of the fork referring to the wrong repo, amend the commit and force push
00:19:15 Re-test the fixed fork link
00:19:58 Open and merge pull request
00:21:43 Start to close issue and respond to an offer to collaborate on a Code of Conduct
00:23:09 Close issue and update backlog

#ruby #rubygems #codecast #screencast #NerdDice #DnD #roleplaying #softwaredevelopment #github #opensource #dice #TDD #markdown #readme #contributing #collaboration

See other related StatelessCode videos:
- Add a CONTRIBUTING.md File to the Project to Help with Collaboration https://youtu.be/BI7zcbbPREk
- Burn the Contributor Covenant with Fire! https://youtu.be/D9h572uwf8c
- Review a Pull Request from Our Devise Tailwind Video: Rails Helpers or Tailwind Directives? https://youtu.be/NY6J4Hjjftg
- Flesh Out the README for the Project https://youtu.be/EQioYZAWvGU

Resources that we relied upon for this solution:
- NerdDice.com project repository https://github.com/statelesscode/nerd_dice_dot_com 
- Burn the Contributor Covenant with Fire Repository on GitHub https://github.com/msducheminjr/burn_the_contributor_covenant_with_fire

Collaborators and Contributors:
- the-amazing-atharva on GitHub: https://github.com/the-amazing-atharva

This video is CC0 - No rights reserved. (YouTube doesn't allow this option when publishing.) All code is released under the UNLICENSE.  Stateless Code denies the concept of "intellectual property". Copying is not stealing.