Over the weekend, I started some spring cleaning of my GitHub open-source repositories. I’ve been trying to be more thorough and professional with the NuGet packages and applications I’ve been developing.
I had 31 public C# projects, many not touched for years, and all of them with different build scripts and documentation.
First, I set 21 of them to “archived” status on GitHub, and there are a few more that may get moved later. These projects haven’t had a change in years. I set them to read-only mode, to leave the code visible for anyone who may be using it.
Then I put the remaining 10 in a spreadsheet with columns for each task that needed to be done to bring each repository up to the level of professionalism that I want. That’s my checklist to work through.
For anyone thinking of doing the same with their repositories, these tasks are making sure each repository has:
- Branch protection rules
- A ci.yml, to build and run unit tests on each pull request
- A nuget.yml, for projects that are published on NuGet (manually triggered, only runnable by me)
- A README file that follows a template
- Includes icons for current build success status, license type, etc.
- Has installation instructions, instructions on use, requirements, and links to other documents (like coding standards)
- A LICENSE file, with date and copyright holder name (should be MIT license)
- A CONTRIBUTIONS file
- A RELEASE_NOTES file
- Standardized labels for ISSUES
- An ISSUES template
- A PULL_REQUEST template
I also want to standardize an .editorconfig file to use (maybe different ones, for different versions of C#), and a naming (and location) convention for my application icons.
This is work in progress that will take a while to complete. But it’s light work I can fit in when I need to take a mental break from writing code.
I also plan to automate this with a Visual Studio wizard to use when creating a new open-source project.
If you’ve seen anyone else clean up their GitHub repos similarly, or done it yourself, please share ideas on what may be missing from above – or is likely a waste of time.
Leave a Comment