The extensible code generator

Yellicode is a cross-platform source code generation engine.

(for any programming language or framework)

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 and open source.

Model driven

Generate code from any JSON document, or create your code models using our free, cross-platform modeling tool, 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 introduction  » Get Started

Easy to learn

All you need is some knowledge of TypeScript/Javascript, and a basic understanding of class models.

Extensible

Yellicode has extensible APIs that let you build code generators for any programming language or technology.

Collaborate

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?

TypeScript is a type-safe superset of Javascript. Historically, JavaScript was used primarily for client-side scripting. Node.js is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side. Thanks to Node.js, you can now run JavaScript anywhere.

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. Read more about this on the Yellicode Models page.

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.