{"repo":"fatbobman/CoreDataEvolution","free":true,"listed":false,"github":"https://github.com/fatbobman/CoreDataEvolution","clone":"git clone https://github.com/fatbobman/CoreDataEvolution.git","description":"SwiftData-style actor isolation, Swift-first NSManagedObject macros, and typed mapping for modern Core Data projects.","language":"Swift","stars":132,"topics":["coredata","swift","swiftdata","core-data","nsmanagedobject","predicate","sqlite","swift-concurrency","swift-macros"],"license":"MIT","category":"databases-storage","readme_excerpt":"CoreDataEvolution CoreDataEvolution brings actor isolation, Swift-first NSManagedObject declarations, typed paths, runtime schema metadata, and model tooling to Core Data. English 中文 Motivation Core Data remains a pragmatic foundation for apps that depend on its mature object graph, migration, and store behavior, but its default source and concurrency patterns can feel distant from modern Swift. Projects often accumulate hand-written accessors, string-based query keys, context-passing conventions, and schema-to-source drift. CoreDataEvolution keeps Core Data as the persistence engine while making its Swift surface more explicit and toolable. It combines actor-isolated access, macro-based NSManagedObject declarations, typed mapping, optional Observation support, and a CLI that can compare source declarations with the real model. Related reading: Why I'm Still Thinking About Core Data in 2026 Features - Isolate background work with @NSModelActor , or bind UI-facing orchestration to viewContext with @NSMainModelActor . - Declare Core Data entities in Swift with @PersistentModel , plus explicit attribute, relationship, composition, and storage metadata. - Generate typed keys and paths for sort descriptors and %K -based predicates, including renamed fields and relationship paths. - Opt generated accessors into MainActor Observation on supported Swift and OS versions. - Build runtime schemas and isolated SQLite containers for test and debug workflows without replacing production .x","default_branch":null,"files":null,"tree":[],"storefront":"/r/fatbobman","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/fatbobman/CoreDataEvolution/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."}