Extract GitHub org config into dedicated repo
Objective
Move the github/ directory (declarative repo settings and sync tooling) out of
osapi into a dedicated osapi-io/.github or osapi-io/github-config repo.
Context
The github/ directory currently lives untracked in the main osapi repo. It
contains:
repos.json— declarative GitHub org config (repo settings, branch protection rules)sync.sh— Bash script that usesghCLI to detect drift and apply config
This tooling manages org-wide settings across all osapi-io repos, so it
doesn't belong inside a single project repo.
Research
Look into existing tools for declarative GitHub org/repo management:
- Terraform GitHub provider
- github-mgmt — GitOps for GitHub org settings
- Probot settings —
.github/settings.ymlapplied via GitHub App - safe-settings — GitHub's own org-level settings management
Evaluate whether an off-the-shelf solution fits before building custom tooling.
Notes
- The current
sync.shscript is functional but minimal - Branch protection and repo settings are already configured via GitHub UI / API — the script checks for drift
- A dedicated repo would allow CI to run the sync on a schedule or on push