This repository is a governance-only GitHub template for production-grade repositories that use main as the only long-lived branch.
Use this template for repositories where:
mainis the production-ready source of truth.- Work is done on short-lived branches.
- All changes enter
mainthrough pull requests. - Release impact is tracked using PR labels.
- Branch protection, CI checks, and review evidence are required.
mainis protected.- Short-lived branches use names such as
feature/<ticket-id>-short-name,fix/<ticket-id>-short-name, orhotfix/<ticket-id>-short-name. - Pull requests target
main. - Squash merge is acceptable for short-lived branches.
- Release versions should be created from protected
v*tags or reviewed release PRs.
.github/pull_request_template.md.github/ISSUE_TEMPLATE/production_change.yml.github/workflows/validate-release-label.yml.github/examples/main-branch-protection-strict.jsonCODEOWNERSdocs/github-labels.mdgithub-compliance-engineering-guidance.md
GitHub template repositories copy files, but they do not reliably copy all repository settings, labels, branch protection, or rulesets.
After creating a repository from this template:
- Create the recommended labels from
docs/github-labels.md. - Update
CODEOWNERSwith real teams or users. - Apply the strict main branch protection example from
.github/examples/main-branch-protection-strict.json. - Confirm the release-label workflow runs on pull requests to
main. - Confirm force pushes and branch deletion are disabled for
main.
This template supports ISO 27001-aligned change control, traceability, review, and release governance. It does not make a repository compliant by itself. Teams must still configure access control, secrets, CI checks, deployment approvals, monitoring, and data handling according to repository risk.