Grace Hopper OS Example
Initial Set-Up/Bootstrapping:
Documentation
- Readme
- Provides information/instructions about project
- Owners
- Roles that certain users have in repository
- Contributing
- Guidelines for contributions
- Changelog
- Record of important changes made to project
- RoadMap
- Give users an idea of where project is going
- Security
- Allow users to report security issues without compromising project
- License
- MkDocs/Markdown
- Static site generator for documentation
- Docker registry
- Github Actions
- Determines number of lines in code validated by existing tests
- Used to enforce testing protocols
- CLA or DCO
- Contributors must sign agreement allowing project to use their contributions
- Bot enforces that agreement signed for each PR
- Stale Bot
- Deal with old/abandoned PRs
- Linter
- Enforces code formatting for each PR
- Semantic Pull Requests
- PR titles must have detailed info
- Easily filter commits for CHANGELOG.md
Test Framework
- Create robust unit/e2e tests
- Avoid bugs
- Ensure that contributors' changes pass existing tests
- Require contributors to test their changes
Maintenance
Daily Stand-Up Meeting:
- Necessary to regularly review new issues/PRs
- Review OSS issues or PRs opened in the last working day, so we do not miss anything.
- Review owned issues, maybe reassign or disown.
- Review open PRs, so we agree that it should be done or do not forget about them.