How it works
From changelog to merged pull request.
Deterministic search picks the files, AI writes the edits, and your own tests decide. Nothing reaches your repository unless it passes.
Six steps, one pull request
Changelog
Versyka starts from the vendor's changelog or migration guide, fetched automatically for known packages.
Rule
The change becomes a structured rule: which calls are affected, how to rewrite them, and the minimum package version.
Search
ast-grep finds every affected call site by structure, not text. The model never decides where to edit.
Edit
Claude rewrites only the matched calls, in your style, inside a disposable sandbox. The package is upgraded when needed.
Tests
Your own typecheck, build and tests run. Failures go back for a fix, up to three attempts; then Versyka stops and reports.
Pull request
Passing changes land on a new branch as a pull request listing what changed and which checks passed. You merge.
What it works with
Languages
SupportedTypeScriptJavaScriptPythonGoJavaKotlinComing soonRubyC# / .NETPHPRustSwiftRequest a language →Package managers
npmpnpmyarnbunpipuvpoetrypipenvGo modulesMavenGradleYour own install, build and test commands: pytest for Python, go test for Go, and your Maven or Gradle tests for Java and Kotlin.Repository layouts
Single packages and monorepos, with per-repo settings inConfiguration.versyka.yml.
Every change to Versyka itself is scored on a benchmark of realistic breaking changes (payments, AI SDKs, cloud SDKs): right files found, wrong files left alone, tests passing.
Watch it run
Step through three benchmark migrations, from changelog to pull request.