Contents

Shift

Dependency upgrades are easy until the new version breaks half the code around it.

Chapter 5Openshift into maindeveloper automation

Context

Nobody likes dependency upgrades. Bumping the version takes a second. Then you spend the afternoon chasing every breaking change through the codebase.

Shift is meant to do both halves for you, on any stack, and still leave you the last word.

Plan

  • Detect the stack: shift status shows what you’re running and which upgrades are available.
  • Apply AST-based codemods for the code changes each upgrade needs.
  • Show everything in an interactive merge editor, so you review it before anything is applied.
  • Take a snapshot first, so any upgrade can be rolled back instantly.
shift init             # scan project, create .shift/ config
shift status           # show stack and available upgrades
shift upgrade react@19 # upgrade with interactive review
shift rollback 1       # instant rollback

Open questions

It’s still early, and I’m writing it in Rust. The order I’m working in: the workspace structure, stack detection, snapshot and rollback, the codemod engine, the merge editor, and then a public launch.