Our SWE-in-a-team benchmark research is ready.Read the results.
Code migrations

Migrate your codebase one verified pull request at a time

Split the migration into steps small enough to review, and SHIP runs each one. Every step comes back as a pull request that passed your CI, a code review and a test.

For
Engineers who move a codebase to a new framework, language or major version.
Instead of
A long-lived migration branch that falls further behind main every week.

Answer 4 questions, then create your account. Your first missions are free.

Terminal
ship delegate plan SHIP-412 --file docs/plan.md
Send one migration step to SHIP with a plan you wrote, and get it back as a verified pull request.
How it works

Plan the move, then run it step by step

Step 1

Split the migration into steps

Make each step small enough for one pull request, for example one package, module or route. Make sure that main still works after each step. Your own coding agent can help you write the list.

Step 2

Hand each step to SHIP

File each step as an issue and assign it to SHIP. Add a planner checkpoint to approve the approach before the Builder starts. You can also write the step's plan yourself and send it with ship delegate plan.

Step 3

Merge each step before the next

Each step is its own mission: build, your CI, a code review and a test. Merge it before you send the next one, so you can release main between steps.

Capabilities

Keep behavior the same while the code changes

Run the tests you have on every step

Your CI and test suite run on every step. If your tests cover a behavior, they catch a change to it on the step that caused it.

Pause a step for review

A checkpoint pauses a step after its plan or its code review, until someone on your team resumes it or asks for changes.

Pick the models for every step

Pick the harness and model for each role. Every agent runs on the credentials you connect, and your provider bills it at your own rates.

Read what each step cost

Every mission reports its cost and time, so the migration's cost is the sum of its pull requests.

Comparison

Compare SHIP with Devin and Factory

What each product's own pages say. Last reviewed October 1, 2026. Check the vendor's page before you buy.
Devin
  • Describes large-scale modernization work, such as the move of multi-million-line ETL monoliths to modular components. SDLC integration
Factory
  • Runs Missions that break large work into features and milestones, and lists brownfield migrations as one of their uses. Factory Missions
SHIP
  • Opens each step as its own pull request that passed your CI, a code review and a test.
  • Runs every role on the harness and model you choose, with your own keys.
  • Bills per mission: one credit covers one mission of up to 3 agent-hours, and your own provider bills model usage. Key facts
FAQ

Frequently asked questions

How do I split a migration into steps?

Make each step fit one pull request, for example one package, module or route. Make sure that main still works after each step. File each step as an issue for the Planner, or write the plan yourself and send it with ship delegate plan.

Checkpoints

What happens when a step breaks something?

Your CI or the Tester catches it, and the Builder fixes the failure on the same pull request before it is ready for you. If the same failure occurs again and again, the mission stops and asks for you.

When is Devin or Factory the better fit?

Factory fits a team that plans a large migration as features and milestones, then gives Factory the whole plan, as its Missions page describes. Devin fits a team that does large-scale modernization, such as the move of multi-million-line ETL monoliths to modular components that its docs describe. SHIP fits when each step must come back as a small pull request that passed your CI, a code review and a test.

What does a code migration cost?

Each step is one mission, and one credit covers up to 3 agent-hours. Each further 3 agent-hours or part of them uses one more credit. You get the credits back when a step fails or needs attention with no pull request, and your own provider bills model usage.

Start your migration with a plan you approve

Send SHIP the first step, and get it back as a pull request that already passed your CI, a code review and a test.

Start your first mission

Answer 4 questions, then create your account. Your first missions are free.