Skip to content

Latest commit

 

History

History
88 lines (52 loc) · 5.56 KB

File metadata and controls

88 lines (52 loc) · 5.56 KB
graph LR
    CLI_Interface["CLI Interface"]
    Core_Orchestrator["Core Orchestrator"]
    Configuration_Template_Resolver["Configuration & Template Resolver"]
    Context_Prompting_Engine["Context & Prompting Engine"]
    Hook_Replay_Manager["Hook & Replay Manager"]
    Project_Renderer["Project Renderer"]
    CLI_Interface -- "initiates" --> Core_Orchestrator
    Core_Orchestrator -- "configures" --> Configuration_Template_Resolver
    Core_Orchestrator -- "prepares" --> Context_Prompting_Engine
    Core_Orchestrator -- "coordinates" --> Hook_Replay_Manager
    Core_Orchestrator -- "passes to" --> Project_Renderer
    Context_Prompting_Engine -- "uses" --> Hook_Replay_Manager
    Project_Renderer -- "uses" --> Hook_Replay_Manager
    click Core_Orchestrator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/cookiecutter/Core_Orchestrator.md" "Details"
    click Configuration_Template_Resolver href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/cookiecutter/Configuration_Template_Resolver.md" "Details"
    click Context_Prompting_Engine href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/cookiecutter/Context_Prompting_Engine.md" "Details"
    click Hook_Replay_Manager href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/cookiecutter/Hook_Replay_Manager.md" "Details"
    click Project_Renderer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/cookiecutter/Project_Renderer.md" "Details"
Loading

CodeBoardingDemoContact

Details

The cookiecutter architecture is designed as a sequential pipeline for project generation, centered around a Core Orchestrator. User interaction begins with the CLI Interface, which delegates control to the Core Orchestrator. This orchestrator then systematically interacts with the Configuration & Template Resolver to set up the environment and locate the template. The Context & Prompting Engine is then engaged to gather all necessary variables, leveraging the Hook & Replay Manager for pre-prompt hooks and state management. Once the context is complete, the Project Renderer takes over to transform the template into a concrete project, with the Hook & Replay Manager facilitating post-generation actions. This modular design ensures a clear flow of data and control, making it ideal for visual representation as a directed graph.

CLI Interface

The entry point for user interaction, responsible for parsing commands and initiating the project generation process.

Related Classes/Methods:

Core Orchestrator [Expand]

The central control unit that manages the entire project generation pipeline, coordinating interactions between all other components.

Related Classes/Methods:

Configuration & Template Resolver [Expand]

Handles loading and merging of configuration settings and resolves the location and type of the template repository.

Related Classes/Methods:

Context & Prompting Engine [Expand]

Manages the creation of the Jinja2 rendering context, including interactive user prompting for variable inputs and applying default values.

Related Classes/Methods:

Hook & Replay Manager [Expand]

Manages the execution of pre- and post-generation hooks and handles the saving and loading of project generation state for replay functionality.

Related Classes/Methods:

Project Renderer [Expand]

The core component responsible for iterating through the template, rendering files and directories using the generated context, and writing the output to the file system.

Related Classes/Methods: