deploy-public
Private-to-public repo sync. One script for all repos. Copies code, creates a PR on the public repo, merges it, and syncs GitHub releases.
When to Use This Skill
Use deploy-public for:
- Publishing a private repo's code to its public counterpart
- After running
wip-releaseon the private repo (release must exist first) - Syncing release notes from private to public
CRITICAL: Release order matters.
- Merge PR to private repo's main
- Run
wip-release(creates GitHub release with notes on private repo) - THEN run
deploy-public.sh(pulls notes from private release)
If you skip step 2, the public release gets empty notes.
Do NOT Use For
- Repos without a
-privatecounterpart - First-time repo setup (create the public repo on GitHub first)
API Reference
CLI
bash scripts/deploy-public.sh /path/to/private-repo org/public-repo
Examples
# Deploy memory-crystal
bash scripts/deploy-public.sh /path/to/memory-crystal-private wipcomputer/memory-crystal
# Deploy wip-dev-tools
bash scripts/deploy-public.sh /path/to/wip-ai-devops-toolbox-private wipcomputer/wip-ai-devops-toolbox
What It Does
- Clones the public repo to a temp directory
- Copies all files from private repo (excluding
ai/,.git/) - Creates a branch, commits, pushes, creates PR
- Merges the PR (regular merge, never squash)
- Syncs GitHub releases (pulls notes from private repo's releases)