Chenile code generator
Generate Chenile projects.
Then write your own blueprints.
JGen is a pure-Java, blueprint-driven code generator. A shared engine copies a blueprint's template tree, renders it, and runs the blueprint's hooks — turning a short JSON input into a ready-to-build Chenile project. Fourteen blueprints ship in the box, and the same conventions let you author your own.
What you get
One engine, one CLI, a library of blueprints — and an authoring model that is almost entirely data.
jgen -g · -f
A predictable CLI
Emit a sample input file for any blueprint, edit it, and generate. Interactive and non-interactive flows share the same validation and pipeline.
14 blueprints
Services to full deployments
Services, headless services, workflow services, mini-monoliths, ecosystems, query modules, process server/worker deployments, interceptors, integration tests — and a blueprint that scaffolds blueprints.
templates
Author by convention
Mustache files, __name__ path placeholders, %%key=value%% conditional folders
and .filelist multi-file outputs. Most behaviour lives in templates, not Java.
validation
Declarative input rules
Fields declare rules like JAVA_IDENTIFIER or KAFKA_TOPIC, enforced across CLI,
portal and composed inputs before any file is written.
super_pom
Composable
Every blueprint accepts an optional parent POM and extra dependencies, so generated projects slot under a shared Maven reactor without template edits.
%
Aggregated
A blueprint can invoke other blueprints through marker folders — once, conditionally, or once per element of a list — to compose whole multi-module applications.
Thirty seconds to a service
Build the CLI, emit an input contract, edit it, generate.
git clone https://github.com/rajakolluru/chenile-gen.git && cd chenile-gen
make clean all && source setpath.sh # puts jgen on PATH
jgen -g chenile-service -o orders.json # emit a sample input
# edit orders.json: set service=orders, jpa=y ...
jgen -f orders.json # generate ./output/orders