The Polyglot Code Generation Framework

View on GitHub Read the Docs

Features

Polyglot

The "designs" you write in Cue are run through "generators". Designs consist of Cuecode for inputs and generator configuration. Generators template your Cuecode into directories and files for any language or technology.

Modular

Modules and imports mean you can share and reuse generators, configuration, and inputs. Create your own or import from the growing community created content.

Extensible

Recombine the inputs, configuration, and generators, adding and specializations you need. Cue's flexibility and expressiveness allow you to safely include or alter how Hof generates code and files.

Generate Anything

Generators can create any set of files so you can create almost anything. By combining multiple generators and using the command subsystem you can create advanced applications with a few commands.

Work in the Output

The generation process is aware of the code you write in the output. You can update designs and custom code, regenerate, and merges will be handled.

Go Beyond

Hof is capable of generating anything and we know we haven't thought of it all. Experiment and let us know what you create!

Examples

Join the Hofstadter community

Hofstadter is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us! Here's a few ways to find out what's happening and get involved.