GitHub Organization Migration Plan
This document outlines the migration process for moving VibeTunnel fromamantus-ai/vibetunnel
to vibetunnel/vibetunnel
.
Status: TODO - This migration has not been completed yet.
Migration Options
Option 1: Simple Transfer (GitHub Built-in)
The simplest approach using GitHubโs native transfer feature.What Transfers Automatically
โ Code & History- All branches and commit history
- Git tags and annotated tags
- Issues and pull requests (with all comments)
- Projects (classic and new)
- Releases and release assets
- Milestones and labels
- Stars and watchers
- Wiki content
- Fork relationships
- Webhooks configurations
- Deploy keys
- Repository-level secrets
- GitHub Actions workflows
- Git LFS objects (copied in background)
What Needs Manual Updates
โ ๏ธ Organization-level Settings- Branch protection rules (inherits new org defaults - review carefully)
- Organization-level secrets (must recreate in new org)
- Environment-level secrets (if used outside repo scope)
- Team permissions (reassign in new org structure)
- CI/CD systems with hardcoded URLs
- Documentation with repository links
- Package registries (npm, etc.)
- External webhooks
- Status badges in README
Option 2: Migration with History Cleanup
Sincehttps://github.com/vibetunnel/vibetunnel
may already exist, we can perform a clean migration that:
- Removes large files from history
- Cleans up accidental commits
- Preserves important history
- Maintains all issues, PRs, and project management features
Pre-Migration Checklist
Preparation (1-2 days before)
-
Prepare Target Organization
- Create
vibetunnel
organization if not exists - Set up teams and permissions structure
- Configure organization-level settings
- Review default branch protection rules
- Create
-
Audit Current Setup
- Document all webhooks and integrations
- List organization/environment secrets
- Note branch protection rules
- Identify external services using the repo
-
Analyze Repository for Cleanup (if using Option 2)
-
Notify Stakeholders
- Team members about the migration
- Users via issue/discussion if needed
- Update any public documentation
Migration Process
Option 1: Simple Transfer Steps
- Navigate to Settings โ General โ Danger Zone โ Transfer
- Enter the new owner:
vibetunnel
- Type the repository name to confirm
- Accept the invite from the destination org
- Done! โ
Option 2: Clean Migration Script
Save this asmigrate-clean.sh
:
Post-Migration Updates
Update Git Remotes
Update VibeTunnel Code
- Update
GITHUB_URL
inmac/VibeTunnel/version.xcconfig
- Update repository URLs in all
package.json
files: - Update any hardcoded GitHub URLs in documentation
- Update CLAUDE.md references
- Update docs.json if it contains repository URLs
Update External Services
- CI/CD configurations
- npm package registry URLs
- Monitoring services
- Documentation sites
- README badges and links
- Installation instructions
- Contributing guidelines
Build & Release
- Update GitHub Actions secrets if needed
- Verify macOS notarization still works
- Test release workflow with new repo URL
- Update Sparkle appcast URLs if applicable
- Consider publishing a patch version with updated URLs
Redirect Behavior
GitHub automatically sets up redirects:https://github.com/amantus-ai/vibetunnel
โhttps://github.com/vibetunnel/vibetunnel
- Git operations:
git clone git@github.com:amantus-ai/vibetunnel.git
still works - API calls to old URL redirect automatically
- Redirects break if someone creates a new repo at
amantus-ai/vibetunnel
- Some tools may not follow redirects properly
- Best practice: Update all references ASAP
Timeline
Day 1: Preparation- Set up new organization
- Audit current configuration
- Notify team
- Morning: Final preparations
- Midday: Execute transfer
- Afternoon: Update configurations
- Test all integrations
- Monitor for issues
- Complete documentation updates
Important Notes
- GitHubโs transfer process is well-tested and reliable
- The automatic redirects provide good backward compatibility
- If using history cleanup (Option 2):
- This process rewrites history - all commit SHAs will change
- Contributors will need to re-clone or rebase their work
- Keep the cleaned backup for a few weeks
- Consider doing this during a low-activity period
Rollback Plan
If issues arise:- GitHub Support can reverse transfers within a short window
- Keep the migration backup (if using Option 2)
- Document any issues for future reference
References
- GitHub Docs: Transferring a repository
- BFG Repo-Cleaner (for Option 2)
- git-filter-repo (alternative to BFG)
- GitHub: Removing sensitive data