Welcome to Tern

Ship migrations with a plan.

Tern reads your entire codebase (and the changelog you meant to summarize), surfaces every breaking change, and grinds through the bulk edits while you focus on the judgment calls.

Tern is currently in Open Beta, which means it’s free to use for a single person. We’d love to hear from you, good or bad, at hello@tern.sh. If it’s really good, learn how Tern can help your whole team.

What you can migrate with Tern

What sort of migrations does Tern work on?

  • Framework and runtime upgrades. Bring on the dependency hell. Upgrade React, Vue, Node, Python, or Ruby, and Tern will figure out what else needs to change.
  • Breaking changes. Get to the latest version of your ORM, data library, or API client. Tern flags where semantics changed and where you’re fine to roll forward.
  • Library swaps. Replace internal SDKs, auth decorators, UI components, or test frameworks. Find/replace, with AI.
  • Deep refactors. Changing auth systems, logging pipelines, or patterns in the center of the codebase? Tern finds the callsites and helps you create shims and organize each batch.
  • Standardization. Roll the same logging, config, or error-handling pattern everywhere without living in search results.

Get started

Tern runs at app.tern.sh, but you’ll need a lightweight CLI to connect your codebase.

curl -fsSL https://tern.sh/install.sh | bash
tern connect

See more in Installation, or, failing that, in Troubleshooting & Support.