testdouble/suture
Some data may be outdated โ see provenance labels.
๐ฅ A Ruby gem that helps you refactor your legacy code observed ยท 2026-09-30
Health v2 ยท maintenance only
75/100
- Activity 95
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) โ computed 2026-10-22. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 3716
- days_rel: n/a
- days_push: 33
- n_releases_24m: 0
Adoption not part of the score
1418 stars ยท 27 forks observed ยท 2026-09-30
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Suture is a Ruby gem that makes it safer to refactor or fully reimplement poorly-understood legacy code. It supports the whole refactor lifecycle by recording calls to a 'seam' and verifying that new implementations match the old behavior in development, staging, and production.
Use cases
- safely refactor legacy ruby code
- reimplement a code path without breaking behavior
- record and replay production calls to verify a rewrite
- characterization testing for untested code
- create seams around code I don't understand
- verify new implementation matches old one in production
When to choose
- you need to change or rewrite critical Ruby code with no tests
- you want recorded real-world inputs to validate a reimplementation
- you're doing incremental strangler-style refactors in Ruby
When to avoid
- your codebase is well-tested and easy to change directly
- you work outside Ruby
- you need active development or new features
Facets
library ยท maturity maintenance
testing developer-tools developer-tools programming-languages testing ruby jvm refactoring characterization-testing seam legacy-code verification-testing ruby-gem
1 source
- readme: https://github.com/testdouble/suture ยท fetched 2026-09-30 ยท 4be5f741f656
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| testdouble/suture | main | 75 |
For agents
markdown ยท JSON ยท MCP: product_card(name="testdouble/suture")
Data as of 2026-10-19T08:05:51.212177+00:00 ยท Report a problem