Prerequisites
- A GitHub account
- One or more repositories you want to modernize
Step 1: Sign In
Go to modelcode.ai and sign in with your GitHub account.Step 2: Connect GitHub
After signing in, connect your GitHub account to access your repositories:- Click Connect GitHub
- Authorize to access your repositories
- Select which repositories can access
Step 3: Create a Project
- Click Create Project on the Projects page
- Enter a project name (auto-filled from your first repository name)
- Select one or more repositories from the dropdown
- For each repository, confirm or change the origin branch
- Set a feature branch name (prefixed with
morph-) - Click Create Project
Step 4: Set Up the Build Environment
Once your project is created, the onboarding flow guides you through configuration. The first steps set up how your project builds and runs:- Setup Build Environment — Choose between the cloud environment or a Self-hosted Daemon for projects that depend on private services
- Review Lifecycle Setup — For cloud projects, automatically discovers your lifecycle configuration (scripts, environment variables, lifecycle document) by analyzing the codebase. Review the discovered setup on the Lifecycle Setup page and make corrections if needed. For self-hosted daemon projects, manually configure lifecycle commands and environment variables.
- Validate Setup — Run an end-to-end validation that executes each script in sequence to confirm the application installs, builds, starts, and passes a health check
If your project builds and runs with standard, publicly accessible dependencies, the cloud environment works out of the box — will discover the lifecycle setup automatically. 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, the Knowledge Hub opens automatically. 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 the chat in the Knowledge Hub 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 Knowledge Hub when you’re satisfied
Step 7: Generate Roadmap
After approval, 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 8: Execute Your First Milestone
- Open the first milestone
- Review what it will accomplish
- Click Generate Tasks to create the specific work items
- Click Execute Tasks to run the migration
What’s Next
- GitHub Integration — Manage repository access
- Lifecycle Setup — Configure how your project builds and runs
- Build Environment — Set up a Self-hosted Daemon for private dependencies
- Define Modernization Goals — Learn how to write effective goals
- Project Spec — Deep dive into the approval process
- Roadmap — How your migration is organized and tracked