How It Works
connects to your repositories and modernizes them according to your goals. A project can include one or more repositories, each with a defined role in the migration. The process is designed to be transparent and controllable:- You define the goal — Describe what you want: “Translate from Ada to C++” or “Upgrade to Python 3.12”
- You set up the build environment — Configure how your project builds, runs, and tests
- understands your code — We analyze your repositories and document their architecture
- You approve the plan — When your Project Spec is ready, opens the Knowledge Hub automatically the first time so you can review and approve it using chat before any code is generated
- executes in milestones — The migration happens in logical chunks, each delivered as a Pull Request for your review
- You control the merge — Every change goes through your normal code review process
Why This Approach
You Stay in Control
Automated migrations can be risky. is designed so you never lose control:- Nothing changes without your approval — The Project Spec must be explicitly approved before migration begins
- Progressive delivery — Changes come in milestones, not one massive PR
- Standard GitHub workflow — Every milestone produces a PR you can review, comment on, and merge like any other
The AI Understands Context
Before generating any code, builds a comprehensive understanding of your repositories:- What technologies and frameworks are in use
- How components connect to each other
- Architectural patterns and conventions
Multi-Repository Support
Real-world modernizations often span multiple repositories. supports multi-repo projects where each repository has a defined role:- Modified — An existing repository that will be transformed
- New — A new repository created as part of the migration
- Reference Only — A repository used for context but not modified
- One-to-One Migration — Direct migration from one repository to another
Customizable to Your Standards
Every team has coding standards. lets you define Rules that encode your preferences:- “Always use dependency injection for database connections”
- “Follow our naming convention for React components”
- “Use our internal logging library instead of console.log”
What You Can Migrate
handles a wide range of modernization scenarios:| Scenario | Examples |
|---|---|
| Language upgrades | Python 2 → Python 3, Java 8 → Java 21 |
| Language translations | Ada → C++, COBOL → Java |
| Framework migrations | AngularJS → React, Express → FastAPI |
| Architecture modernization | Monolith → Microservices |