{"repo":"diyanbogdanov/emend","free":true,"listed":false,"github":"https://github.com/diyanbogdanov/emend","clone":"git clone https://github.com/diyanbogdanov/emend.git","description":"Verified AI dependency migrations. Finds which of your lines a version bump actually breaks, fixes them, and proves the result still compiles and passes your tests.","language":"TypeScript","stars":41,"topics":["ai-agents","automation","breaking-changes","cli","code-migration","codemod","dependabot","dependency-management","developer-tools","devtools"],"license":"AGPL-3.0","category":"dev-tools","readme_excerpt":"Emend Verified AI migrations for dependency upgrades. Emend finds which of your lines a version bump actually breaks, migrates them with an agent in a throwaway worktree, then proves the result compiles and your tests still pass — or refuses to call it fixed. That \"+ 1930\" line is the product. zod 4 ships 1,934 breaking changes. Four of them touch this repository. Everything downstream operates on those four — and on the line below the summary, which says how much of the repository went unexamined , because a summary that cannot be wrong about its own coverage is the only kind worth reading. --- Try it in 30 seconds No API key. No config. scan is fully deterministic and never calls a model. That scaffolds a repo with genuine dependency drift and shows you exactly the output above. Requires Node 22.6+ . Then point it at something real: --- Why this isn't another AI migration tool Most tools in this category end at \"the model edited your files.\" Emend treats that as the start of the problem, because a model that edits confidently and wrongly is worse than one that does nothing. Every migration runs in a throwaway git worktree : 1. baseline — typecheck + tests run before any edit 2. apply the edits, bump the dependency 3. post — typecheck + tests run again, and the two are compared Without step 1, a repository that was already failing has its pre-existing failures blamed on the migration. Emend distinguishes verified / regression / pre-existing-failure / typecheck-only / unverif","default_branch":null,"files":null,"tree":[],"storefront":"/r/diyanbogdanov","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/diyanbogdanov/emend/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}