π― Quick Reference - GitHub Organization Setup β
π Checklist β
Before You Start β
- [ ] Choose your organization name (e.g.,
recommendai-platform) - [ ] Have GitHub account ready
- [ ] GitHub CLI installed (
gh) OR SSH keys configured
On GitHub.com β
- [ ] Create organization at https://github.com/organizations/new
- [ ] Create 7 empty repositories (DO NOT initialize):
- [ ] recommendai-platform
- [ ] recommendai-api
- [ ] recommendai-core
- [ ] recommendai-ml
- [ ] recommendai-frontend
- [ ] recommendai-infrastructure
- [ ] integration-tests
Local Setup β
- [ ] Update
.gitmoduleswith your org name - [ ] Run
.\setup-github-org.ps1script - [ ] Initialize parent repo with submodules
π Quick Commands β
Option 1: Use the Script (Recommended) β
powershell
cd "d:\Users\ibadr\Projects\Recommendations"
.\setup-github-org.ps1Option 2: Manual Setup β
powershell
# Set your organization name
$ORG = "YOUR_ORG_NAME"
# Push each component
cd recommendai-api
git remote add origin "https://github.com/$ORG/recommendai-api.git"
git push -u origin main
# Repeat for: recommendai-infrastructure, recommendai-core,
# recommendai-ml, recommendai-frontend, integration-testsπ Authentication β
Option A: GitHub CLI (Easiest) β
powershell
gh auth login
# Follow promptsOption B: Personal Access Token β
- Go to https://github.com/settings/tokens
- Generate new token (classic)
- Select scopes:
repo,admin:org - Use token as password when pushing
Option C: SSH Keys β
- Generate key:
ssh-keygen -t ed25519 -C "your_email@example.com" - Add to GitHub: https://github.com/settings/keys
- Use SSH URLs:
git@github.com:ORG/repo.git
π Repository URLs Format β
https://github.com/YOUR_ORG/recommendai-platform
https://github.com/YOUR_ORG/recommendai-api
https://github.com/YOUR_ORG/recommendai-core
https://github.com/YOUR_ORG/recommendai-ml
https://github.com/YOUR_ORG/recommendai-frontend
https://github.com/YOUR_ORG/recommendai-infrastructure
https://github.com/YOUR_ORG/integration-testsπ¨ Repository Settings (After Creation) β
For each repository:
General:
- β Issues enabled
- β Projects enabled
- β Wiki disabled (use docs/ instead)
- β Discussions enabled (optional)
Topics/Tags: All repos: recommendation-system, microservices, b2b-saas
Per repo:
- API:
dotnet,csharp,rest-api,graphql - Core:
rust,high-performance - ML:
python,machine-learning,pytorch - Frontend:
angular,typescript - Infrastructure:
docker,kubernetes
Branch Protection (for main):
- β Require pull request reviews (1+)
- β Require status checks to pass
- β Require branches to be up to date
- β Include administrators
π₯ Team Structure β
Create these teams in your organization:
- Owners - Full access
- Backend - Write: api, core, ml
- Frontend - Write: frontend
- DevOps - Write: infrastructure
- QA - Write: integration-tests
π Verification β
After setup, verify:
powershell
# Clone parent with submodules
git clone --recursive https://github.com/YOUR_ORG/recommendai-platform.git
# Check submodules
cd recommendai-platform
git submodule status
# All should show commit hashes, not errorsπ Full Documentation β
- Complete Guide: GITHUB_ORG_SETUP.md
- Submodules Guide: MONOREPO_SETUP.md
- Ready Status: FINAL_DEPLOYMENT_READY.md
π Troubleshooting β
Push Authentication Failed β
powershell
gh auth login
# Or configure SSH keysSubmodule Issues β
powershell
git submodule deinit -f .
git submodule update --init --recursiveWrong Remote URL β
powershell
cd repository-directory
git remote set-url origin https://github.com/CORRECT_ORG/repo-name.git
git push -u origin mainπ― Time Estimates β
- Create organization: 2 minutes
- Create repositories: 5 minutes
- Push all repos: 5-10 minutes
- Set up submodules: 10 minutes
- Configure settings: 15 minutes
Total: ~30-40 minutes
β Success Indicators β
You're done when:
- All 7 repos visible on GitHub
- Each repo shows correct number of commits
- Parent repo contains submodules
git clone --recursiveworks- All README files display correctly
Need help? See detailed guides in documentation files.
Ready? Run .\setup-github-org.ps1 to begin! π