This guide describes the manual steps required to configure your GitHub repository for open source best practices.
Go to Settings > General:
- Features: Enable
Issues,Discussions(optional but recommended for community building). - Pull Requests:
- Allow merge commits: Disabled (keeps history clean)
- Allow squash merging: Enabled (best for PRs)
- Allow rebase merging: Disabled (can appear complex for some contributors)
- Automatically delete head branches: Enabled (cleanup)
Go to Settings > Branches > Add branch ruleset or Add rule:
Target branch: main
- Require a pull request before merging:
- Require approvals: 1 (at least)
- Dismiss stale pull request approvals when new commits are pushed: Enabled
- Require status checks to pass before merging:
- Search for and select your CI jobs:
Test,Lint,Build(from yourci.yml). - Require branches to be up to date before merging: Enabled
- Search for and select your CI jobs:
- Do not allow bypassing the above settings: Enabled (applies to admins too).
Go to Insights > Community Standards to verify that GitHub recognizes all your new files (CODE_OF_CONDUCT, CONTRIBUTING, templates, etc.).
Go to Settings > Security & analysis:
- Dependabot alerts: Enabled
- Secret scanning: Enabled
- Code scanning: Enabled (if available)
Go to the main repository page (Code tab) and click the gear icon next to "About".
- Add topics:
tui,go,cli,spreadsheet,terminalfor better discoverability.