Part of the HuggingBunny Open Source Suite
A clickable web-based prototype for Fortune 500 teams managing Bitbucket-to-GitHub migrations during M&A events.
Status: UI mockup / prototype — fully navigable, localStorage-backed, report-exportable. Not yet wired to live APIs.
Each M&A engagement gets its own named migration project. The wizard walks through:
| Step | Category | Key Questions |
|---|---|---|
| 1 | Platform Details | Source (Cloud/Server/DC + version), Target (GH.com/EC/ES + tier), GEI vs custom |
| 2 | Data Scope | What to migrate (Git history, PRs, wikis, issues, labels, pipelines, LFS…), special handling (monorepos, submodules, >40 GB), repo counts |
| 3 | Auth & Access | PAT / OAuth / SSH / GitHub App, SSO/SAML, bulk multi-workspace |
| 4 | Compliance & Security | Audit logging, encryption, zero-data-loss, branch protection replication, user mapping strategy, DLP mode |
| 5 | Features & UX | App type (CLI/Web/API/n8n), dry-run, rollback, post-migration verification, scheduling, retries, notification channels |
| 6 | Timeline & Constraints | Go-live date, repos/day throughput, downtime tolerance, budget, open-source vs proprietary |
| 7 | Review & Generate Plan | Full config summary with recommended tool chips, downloadable Markdown migration plan |
- Stats row (total / complete / in-draft)
- Migration cards with progress bar, status badge, source → target subtitle
- Per-card delete with confirmation
- Connections: Bitbucket and GitHub token configuration with connection test
- Migration Defaults: Concurrency, retries, retry delay, log level, retention
- Notifications: Slack and Microsoft Teams webhook configuration
- Security: Audit log, export encryption, DLP toggles
- Advanced: Theme, date format, API timeout, debug mode, danger zone
- Color-coded INFO / DEBUG / WARN / ERROR entries
- Filter by level, migration name, or free-text search
- Mock entries include realistic events: dry-run validation, user mapping, DLP blocks, rate limit errors
| Layer | Tech |
|---|---|
| Framework | React 18 + Vite |
| Styling | Tailwind CSS v3 (dark theme) |
| State | React useState / useCallback |
| Persistence | localStorage (per-browser) |
| Build | Vite — npm run build |
# Install dependencies
npm install
# Start dev server
npm run dev
# → http://localhost:5173
# Production build
npm run buildNo backend required. Everything runs in the browser.
src/
├── components/
│ ├── dashboard/
│ │ ├── Dashboard.jsx # Main dashboard with stats + migration list
│ │ └── MigrationCard.jsx # Individual migration card with progress bar
│ ├── shared/
│ │ ├── FormFields.jsx # TextField, SelectField, RadioGroup, CheckboxGroup, etc.
│ │ └── StepIndicator.jsx # 7-step breadcrumb bar
│ └── wizard/
│ ├── WizardShell.jsx # Step navigation, auto-save, back/next
│ └── steps/
│ ├── Step1Platform.jsx
│ ├── Step2DataScope.jsx
│ ├── Step3Auth.jsx
│ ├── Step4Compliance.jsx
│ ├── Step5Features.jsx
│ ├── Step6Timeline.jsx
│ └── Step7Review.jsx # Summary + report generator
├── pages/
│ ├── SettingsPage.jsx # 5-section settings with sidebar nav
│ └── LogsPage.jsx # Filterable log viewer
├── utils/
│ ├── storage.js # localStorage CRUD helpers
│ └── reportGenerator.js # Markdown migration plan generator
└── App.jsx # State-machine router (no react-router)
- Live Bitbucket REST API integration (workspace/repo discovery)
- Live GitHub REST/GraphQL API integration (org validation, repo creation)
- GEI CLI command generation from wizard answers
- GitHub Actions Importer (Valet) pipeline conversion
- Per-migration "Run Migration" view with live progress per repo
- Real-time log streaming via WebSocket
- User mapping CSV upload and validation
- DLP/secret-scanning pre-flight check integration
- Post-migration verification (commit/PR count diff)
- Docker container for self-hosted deployment
Built as a prototype during an M&A engagement to scope and standardize the process of migrating acquired companies off Bitbucket onto a corporate GitHub organization. Designed to handle Fortune 500 compliance requirements: audit trails, zero data loss, encryption, DLP scanning, and user identity mapping.
Apache 2.0











