A command-line tool that generates Core Data classes from .xcdatamodel files, separating machine and human code.
mogenerator is a command-line tool that generates Core Data classes from .xcdatamodel files for iOS and macOS apps. It automates the creation of entity classes, separating machine-managed code from developer customizations to streamline data model management and reduce boilerplate.
iOS and macOS developers using Core Data for persistence, particularly those working on projects with complex data models who want to maintain clean, updatable code.
Developers choose mogenerator for its dual-class approach, which prevents overwriting custom logic while keeping generated code in sync with the data model, and for its support of modern Swift features and customizable templates.
Core Data code generation
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates machine-managed _Entity and human-editable Entity classes, preventing overwrite of custom logic while keeping generated code in sync with the data model, as per the project's core philosophy.
Produces code for both Objective-C and Swift, including modern Swift features like generic fetchRequest() methods and Data types, as highlighted in the version history updates.
Supports complex Core Data types such as URL, UUID, and transformable attributes with custom classes, reducing manual boilerplate for developers, as noted in recent release notes.
Allows tailoring of generated code using template booleans and entity ignore options, offering flexibility for project-specific needs without modifying core tools.
No longer provides .pkg binaries, requiring installation via Homebrew or manual compilation, which adds setup steps compared to integrated Xcode tools.
Key usage instructions are scattered across external links like StackOverflow and blogs, making it harder for new users to find comprehensive, up-to-date guidance.
The last major release was in 2019, and the project relies on community contributions, which may slow adoption of new Core Data features or bug fixes.