- Add responsible individuals or teams to repository access roles settings.
- Ensure there is a detailed
README
(orREADME.md
,README.rst
) readme file describing the project:- what the project does;
- why the project is useful;
- how users can get started with the project;
- where users can get help with your project;
- who maintains and contributes to the project.
- Add the
.gitignore
file to the repository to ignore files that should not be committed to the repository. - Add the
CONTRIBUTING
file to the repository, describing how to contribute to the project. This wayREADME
file will be smaller. - Add the
CODE_OF_CONDUCT.md
file to the repository. Read more: https://www.contributor-covenant.org. - Add the
CODEOWNERS
file to the repository. - Add the
CITATION.cff
file for the scientific projects. - Add topic tags to the repository.
- Add the
.editorconfig
file to the repository to define editor settings. Read more: https://editorconfig.org/. - Protect the
main
branch with reasonable rules:- Require pull request review before merging.
- Require status checks before merging.
- Require signed commits.
- Require approvals.
- Read more: https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches.
- Configure CI/CD pipelines to run tests and code quality checks:
- Autoformatting check;
- Linting check;
- Tests check;
- Code coverage check;
- Code quality and vulnerabilities check (for example, CodeQL);
- Automated release creation.