Modelina is a code generation library that produces typed data models from schema documents like AsyncAPI, OpenAPI, and JSON Schema.
The tool addresses the problem of manually writing and maintaining data model definitions across different programming languages and projects. It works by parsing input schema documents and generating corresponding model classes in the target language, with extensive customization options. Users can apply constraints to control how models are shaped, layer presets to add or replace generated code, and interact with the output in flexible ways—whether displaying models on a website, writing them to files, or combining multiple models into single files.
Modelina suits teams that need consistent model generation across multiple languages and want fine-grained control over the output. It works both as a standalone CLI tool and as an embedded library in larger integrations. The project supports a wide range of target languages including TypeScript, Java, Go, Rust, C++, C#, Kotlin, and PHP, making it valuable for polyglot environments. The README emphasizes user control and customization rather than comparing itself to specific alternatives.
The project maintains active development with regular updates to its codebase and documentation. The repository includes comprehensive examples and documentation covering constraints and presets, indicating ongoing investment in helping users understand and leverage the tool's capabilities. The presence of a dedicated CLI package alongside the library shows the maintainers support multiple usage patterns. Contribution guidelines and versioning documentation are documented, suggesting a structured approach to community involvement and release management.