The extensible code generator
Yellicode is a cross-platform source code generation engine
What does it do?
Yellicode lets you build your own code generation templates with TypeScript. It consists of a Node.js CLI and extensible APIs, making it easy for developers to create, share and re-use code generators for their favorite programming languages and frameworks. And it's entirely free.
Create your code models using our free, cross-platform Yellicode Modeler. Extend models with language- or framework specific meta data and use Yellicode's type-safe APIs to transform your models into code.Read the docs Get Started
Easy to learn
Yellicode has extensible APIs that let you build code generators for any programming language or technology.
Use NPM - the world’s largest software registry – to assemble your code generation templates. Or share your own code generators with the community.
Free modeling tool
Use our fast, cross-platform modeling tool to create your code models. Create and share profiles (meta models) for language- or framework specific modeling.
Use any IDE on any platform
Create templates in your preferred TypeScript editor. Yellicode runs in the background and gets out of your way.
Instant code generation
Changes to your models and templates are almost immediately reflected in the generated code.
Frequently Asked Questions
TypeScript, Node.js, isn’t that for the web?
Can I create a template for [insert language here]?
Technically, Yellicode generates text files. This means that you can generate code for any programming language. We encourage developers to create and share code writers for their favorite programming languages. For an introduction about creating custom code writers, see creating a custom code writer.
Does Yellicode make use of UML?
Yes, but only a subset of it. We choose the parts of UML that we considered most relevant for code generation: the standard UML class structure and profiles. For more information about the model, see the model API reference.
Can I mix generated code with custom code?
Yes, there are several options to do this, like mixing generated code with manual code from “partial” files. For more options, see mixing in custom code.