pjkm.core.templates.composer

Template composer: layers multiple templates to build a complete project.

Classes

TemplateComposer

Composes a project by layering base + archetype + fragment templates.

Module Contents

class pjkm.core.templates.composer.TemplateComposer(loader=None, renderer=None)[source]

Composes a project by layering base + archetype + fragment templates.

Rendering order: 1. “base” template (shared by all archetypes) 2. Archetype-specific template (e.g., “single_package”) 3. Fragment templates (e.g., from package groups)

Parameters:
compose(archetype, dest, data, fragments=None, pretend=False)[source]

Layer templates to build a complete project.

Returns a list of template names that were applied.

Parameters:
Return type:

list[str]