This is a collection of best practices of Frannca's projects maintenance on GitHub.
There are so many great Open Source projects that is helping our company to grow that would be fair to start to share some projects as well. This year we decided to start to Open Source some of our projects on GitHub. Starting with our website and now by creating some Angular libraries. See our Projects.
We use the Angular Commit Message Guidelines and to follow this guidelines, there is a great CLI wizard: Commitizen.
Commitizen installation
npm install -g commitizen
Making the repository Commitizen-friendly
commitizen init cz-conventional-changelog --save-dev --save-exact
If the project does not has the package.json
file, the Commitizen CLI can not be installed. Create the file by
running npm init
.
For more detailed information, check the Commitizen repository.
The GitHub has a checklist with some important things that your project must have. It is important to follow this standards to reach out a good quality project, and to helo others to help you by submitting pull requests.
- Description
- Add a description for your project, it is very important because of this description the people can find your project easily.
- README
- The first thing that anyone sees when enters your project is the README. It is very important to create a good README. We are going to see more details in the next topics.
- Code of conduct
- GitHub provides two templates, but we mainly use the first one: Contributor Covenant.
- Contributing
- If you want to people to contribute to your project, you must have a contributing file. This file contains the guidelines to anyone that wants to report bugs and create pull request.
- Licence
- We always use the MIT License in all the projects on GitHub.
- Issues or pull request templates
- Create this files save time and creates a standard to anyone that wants to open an issue or create a pull request.
This template was inspired by many README files on Awesome README. Check the README-template and make a copy of it when starting a new project.
The main sections are:
- Introduction
- Table of Contents
- Requirements
- Installation
- Usage
- Configuration
- Testing
- Contributing
- Copyright and license
This template was created by contributing-template. Check the CONTRIBUTING-template and make a copy of it in your project.