web/docs/repo-split-publish-runbook.md

67 lines
2.0 KiB
Markdown

# Repo Split Publish Runbook
Use this runbook after valid Gitea credentials are available (PAT or git credential-helper username/password).
## Local Seed Repos (already initialized)
1. `launcher` at `/Users/vsg/Documents/VSG Codex/launcher` (commit `caf06d2`)
2. `governance` at `/Users/vsg/Documents/VSG Codex/governance` (commit `823f201`)
3. `contracts` at `/Users/vsg/Documents/VSG Codex/contracts` (commit `dbac2f0`)
## Create Remote Repos
1. Create `edut/launcher` (private)
2. Create `edut/governance` (private)
3. Create `edut/contracts` (private or public per policy)
Example (replace `<TOKEN>`):
```bash
curl -fsSL -H "Authorization: token <TOKEN>" -H "Content-Type: application/json" \
-X POST "https://git.workvsg.com/api/v1/orgs/edut/repos" \
-d '{"name":"launcher","private":true,"description":"EDUT free launcher shell and wallet onboarding app"}'
```
Repeat for `governance` and `contracts`.
Or run the helper with PAT:
```bash
cd "/Users/vsg/Documents/VSG Codex/web"
./scripts/publish_split_repos.sh <gitea_pat>
```
Or run it without arguments to use git credential helper auth for `git.workvsg.com`:
```bash
cd "/Users/vsg/Documents/VSG Codex/web"
./scripts/publish_split_repos.sh
```
## Push Local Seed Repos
```bash
cd "/Users/vsg/Documents/VSG Codex/launcher"
git remote add origin https://git.workvsg.com/edut/launcher.git
git push -u origin main
cd "/Users/vsg/Documents/VSG Codex/governance"
git remote add origin https://git.workvsg.com/edut/governance.git
git push -u origin main
cd "/Users/vsg/Documents/VSG Codex/contracts"
git remote add origin https://git.workvsg.com/edut/contracts.git
git push -u origin main
```
## Post-Publish Validation
1. Verify each repo has expected initial commit.
2. Verify repo visibility policy (public/private) matches boundary blueprint.
3. Add cross-repo links in each README.
4. Lock branch protections and required-review settings.
## Current Blocker
Gitea API creation attempts with current credential material return `401 invalid username/password/token`.