{"adoption": {"forks": 153, "observed_at": "2026-08-28T04:07:38.442475+00:00", "stars": 3019}, "canonical_url": "https://ross.abutalabs.com/products/respawn", "card": {"archived": false, "artifact_type": "library", "description": "Intelligent database cleaner for integration tests", "domain": ["testing", "databases", "developer-tools"], "enriched": true, "function": ["testing", "database", "database-driver"], "health_score": 74, "homepage": null, "language": "C#", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["jbogard/Respawn"], "name": "jbogard/Respawn", "platform": ["dotnet", "cross-platform"], "pushed_at": "2026-01-19T17:21:15+00:00", "repo": "jbogard/Respawn", "stars": 3019, "tags": ["integration-testing", "test-data-management", "database-reset", "sql-server", "postgresql", "mysql", "oracle"], "topics": [], "urls": [], "use_cases": ["reset database to clean state between integration tests", "delete test data respecting foreign key constraints", "replace transaction rollback strategies in test fixtures", "clean database tables before each test run", "isolate database state in automated test suites"], "what_it_is": "Respawn is a .NET library that intelligently resets test databases to a clean state between integration tests. It analyzes foreign key relationships to build a deterministic deletion order, supporting SQL Server, PostgreSQL, MySQL, Oracle, and Informix.", "when_to_avoid": ["you only run unit tests with mocked data access", "you need full database snapshots or migrations rather than data deletion", "your stack is not .NET"], "when_to_choose": ["you run integration tests against a real database and need repeatable clean state", "transaction rollbacks or manual deletes are causing flaky or slow tests", "you need foreign-key-aware deletion across multiple SQL databases"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/respawn", "repo": "jbogard/Respawn", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:38.442475+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.446191+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1baaa5125574fb03a578d58fe44e2297363ceb8e1c2d2c3600123ce1bede8b2b", "fetched_at": "2026-08-28T04:07:38.442475+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jbogard/Respawn"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 63, "longevity": 100, "rhythm": 27}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4213, "days_push": 226, "days_rel": 276, "gap_med": null, "n_releases_24m": 1}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}