Prerequisites
- A GitHub, GitLab, or Azure DevOps account
- One or more repositories you want to modernize
Before You Start: See a Finished Migration
If you would rather see the whole thing working before connecting a repository, ships a read-only sample project — a real modernization, replayed end to end. You can reach it when you are asked to connect a Git provider, without connecting one. It walks through the whole migration in four phases:
Chat replays the real conversation recorded during that migration, so you can see how the agent was directed. Nothing writes to your account, and nothing you do there affects anything.
It is the fastest way to judge whether fits your codebase, and a good thing to send to a colleague who wants to see the product without starting a trial.
Step 1: Sign In
Go to modelcode.ai and sign in with your account.Step 2: Connect Your Git Provider
After signing in, connect your Git provider to access your repositories:- Click Connect GitHub (or the equivalent for your provider — see GitLab Integration or Azure DevOps Integration for provider-specific setup)
- Authorize to access your repositories
- Select which repositories can access
Step 3: Create a Project
- Click Create Project on the Projects page
- Select one or more repositories from the dropdown
- For each repository, confirm or change the origin branch
- Click Continue to move to the next step
- Set a feature branch name (prefixed with
morph-) - If Organizational Knowledge is available, click Manage to browse and select items to import, or leave as “starting fresh”
- Click Continue again
- Enter a project name (auto-filled from your first repository name)
- Click Create Project
Step 4: Set Up the Build Environment
Once your project is created, the onboarding flow guides you through configuration. The first step is choosing where builds and runs your code: the cloud environment, or a Self-hosted Daemon for projects that depend on private services.If your project builds and runs with standard, publicly accessible dependencies, the cloud environment works out of the box. Use a Self-hosted Daemon only when your project requires access to private registries, internal APIs, or on-premise infrastructure.
Step 5: Define Your Modernization Goals
This is where you tell what you want to achieve. Describe your goal in plain language: Examples:- “Translate the source code from Ada to C++”
- “Upgrade Python 2.7 to Python 3.12”
- “Migrate from AngularJS to React with TypeScript”
- “Upgrade Java Spring framework to the latest version”
Be specific about your target. Instead of “modernize the code,” say “migrate from Express.js to FastAPI” or “upgrade to React 18 with hooks.”
Project Overview
As part of defining your goals, you’ll configure the Project Overview — a summary of the repositories involved and their roles in the migration:- Repos at start — The repositories you’re beginning with and their current state
- Repos at end — The target repositories after migration, including any new repos and each repo’s modernization role (Modified, New, Reference Only, One-to-One Migration)
Step 6: Review and Approve the Project Spec
generates your Project Spec — the full migration plan for your project. The first time it is ready, Project Knowledge opens automatically on the Roadmap. Select Project Spec in the tree if needed, and review it carefully:- Does it capture your intent?
- Are the target technologies correct?
- Is anything missing?
- Use Knowledge chat in Project Knowledge to ask questions and request updates to the Project Spec
- Run Auto-review to have check the spec against the codebase and your goals
- Approve from the Project Knowledge drawer when you’re satisfied
Step 7: Choose a Validation Level
Pick how thoroughly should verify each milestone — from build-and-test only, up to full origin-vs-target verification. See Validation Level for what each level covers and what it costs.Step 8: Project Setup
At the High validation level, needs to know how to actually build, run, and health-check your application. The Project Setup stage opens Project Knowledge with Knowledge chat, and the agent works through it with you:- It inspects the repository and reports the install, build, run, and health-check commands it found
- It asks you about anything it can’t infer — ports, service URLs, credentials (via an encrypted Provide Secret card)
- It runs the whole lifecycle end to end to prove the configuration works
At the Low and Mid validation levels this stage is skipped — never builds or runs the original application, so there is nothing to configure.
Step 9: Generate Roadmap
generates a Roadmap — a sequence of milestones that progressively execute your migration. Each milestone represents a logical chunk of work, ordered so each builds on the previous one.Step 10: Execute Your First Milestone
- Open the first milestone — the Project Knowledge drawer opens with the milestone plan
- Review what it will accomplish (title, description, relevant files)
- Click Approve & Start at the bottom of the drawer to launch the agent
What’s Next
- GitHub Integration — Manage repository access
- Lifecycle Setup — Set up how your project builds and runs, with the agent in chat
- Validation Level — Choose how thoroughly each milestone is verified
- Build Environment — Set up a Self-hosted Daemon for private dependencies
- Define Modernization Goals — Learn how to write effective goals
- Reviewing the Project Spec — Approve your migration plan using the Project Knowledge drawer
- Roadmap — How your migration is organized and tracked