Playbook: org migration
Moving all repos to Backpack-Ops without breaking deploys.
The target: every repo under github.com/Backpack-Ops, deploys unbroken, porter private again, secrets in Infisical, commits authored as david@backpackops.com (Backpack identity is separate from scholarfund).
Preconditions (owner, one time)
- Install the Vercel GitHub App on the Backpack-Ops org: github.com/apps/vercel, Configure, select Backpack-Ops, grant all repositories. Without this, pushes to transferred repos stop triggering deploys (proven by test on backpack-docs).
- If iese moves later: install the Railway GitHub App on the org the same way.
- Provide an Infisical machine identity for automation.
Transfer order (agent-executable). Executed 2026-07-18: docs, porter (now private), console, and all nine site repos are in Backpack-Ops; deploys and CMS publishing verified end to end. iese remains, pending the Railway app on the org.
- backpack-docs (done 2026-07-18, deploys manually until the app is installed).
- site-porter, then flip it private (org Actions billing is clean) and run one test port to confirm.
- site-editor (the console). Immediately verify: push an empty commit, confirm auto-deploy, confirm registry reads work.
- Client site repos, one at a time, verifying one CMS publish against the first before doing the rest.
- iese last (Railway connection).
Transfers use POST /repos/mrcoven94/<repo>/transfer with new_owner Backpack-Ops. GitHub redirects old URLs, and repo IDs are stable, so connected apps follow once installed on the org.
Reference updates after transfer
- Console: CONSOLE_REPO constant and any hardcoded mrcoven94/ strings.
- Porter: port.yml repo-create target and registry.json update path.
- Local git remotes on this machine.
- Docs and memory references.
Identity
All commits to Backpack repos use david@backpackops.com from now on. Nothing affiliated with scholarfundwa.org in the Backpack estate.