{"adoption": {"forks": 385, "observed_at": "2026-08-28T04:07:37.968308+00:00", "stars": 3016}, "canonical_url": "https://ross.abutalabs.com/products/mogenerator", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Core Data code generation", "domain": ["developer-tools", "apple-ecosystem"], "enriched": true, "function": ["developer-tools", "cli"], "health_score": 37, "homepage": "http://rentzsch.github.com/mogenerator", "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["rentzsch/mogenerator"], "name": "rentzsch/mogenerator", "platform": ["cli"], "pushed_at": "2025-06-27T15:24:48+00:00", "repo": "rentzsch/mogenerator", "stars": 3016, "tags": ["core-data", "objective-c", "swift", "xcdatamodel", "code-generation", "mac-apps", "macos"], "topics": [], "urls": [], "use_cases": ["generate Core Data model classes from an xcdatamodel file", "avoid hand-editing generated Core Data subclasses", "keep Core Data entity classes in sync with data model changes", "add custom logic to Core Data entities without losing generated code", "generate Swift and Objective-C classes for Core Data entities"], "what_it_is": "mogenerator is a command-line tool that generates Objective-C and Swift class files from Core Data .xcdatamodel files. It creates two classes per entity: a machine-managed base class kept in sync with the model and a human-editable subclass for custom logic.", "when_to_avoid": ["you don't use Core Data or .xcdatamodel files", "you use Swift-only alternatives like code generation built into Xcode", "you need a GUI tool rather than a command-line utility"], "when_to_choose": ["you use Core Data in an Xcode project and want safe, regenerable entity classes", "you want a two-class pattern separating generated code from custom logic", "you want to automate model-to-code generation in your build process"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mogenerator", "repo": "rentzsch/mogenerator", "role": "main", "score": 35}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "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:37.968308+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:37.968308+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:46:54.968973+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11da20159731d63dddab58c3fb3b145207eda212b6e69d1b862231045de148dc", "fetched_at": "2026-08-28T04:07:37.968308+00:00", "kind": "readme", "missing": false, "url": "https://github.com/rentzsch/mogenerator"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 28, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6377, "days_push": 432, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 35, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}