graph LR
API_Service["API Service"]
Job_Database["Job Database"]
Orchestration_Engine["Orchestration Engine"]
Repository_Manager["Repository Manager"]
Static_Analysis_Engine["Static Analysis Engine"]
AI_Interpretation_Layer["AI Interpretation Layer"]
Output_Generation_Engine["Output Generation Engine"]
Unclassified["Unclassified"]
Unclassified["Unclassified"]
API_Service -- "initiates jobs and triggers analysis within" --> Orchestration_Engine
API_Service -- "requests GitHub Action jobs from" --> Orchestration_Engine
Orchestration_Engine -- "manages job state in" --> Job_Database
Orchestration_Engine -- "requests code from" --> Repository_Manager
Repository_Manager -- "provides code to" --> Orchestration_Engine
Orchestration_Engine -- "requests static analysis from" --> Static_Analysis_Engine
Static_Analysis_Engine -- "provides richer analysis results to" --> Orchestration_Engine
Orchestration_Engine -- "feeds rich analysis data to" --> AI_Interpretation_Layer
AI_Interpretation_Layer -- "returns enhanced architectural insights to" --> Orchestration_Engine
AI_Interpretation_Layer -- "queries diff information from" --> Repository_Manager
Orchestration_Engine -- "passes enhanced insights for generation to" --> Output_Generation_Engine
Output_Generation_Engine -- "delivers documentation to" --> API_Service
Output_Generation_Engine -- "provides GitHub Action output to" --> API_Service
click API_Service href "https://github.com/CodeBoarding/CodeBoarding/blob/main/.codeboarding/API_Service.md" "Details"
click Orchestration_Engine href "https://github.com/CodeBoarding/CodeBoarding/blob/main/.codeboarding/Orchestration_Engine.md" "Details"
click Repository_Manager href "https://github.com/CodeBoarding/CodeBoarding/blob/main/.codeboarding/Repository_Manager.md" "Details"
click Static_Analysis_Engine href "https://github.com/CodeBoarding/CodeBoarding/blob/main/.codeboarding/Static_Analysis_Engine.md" "Details"
click AI_Interpretation_Layer href "https://github.com/CodeBoarding/CodeBoarding/blob/main/.codeboarding/AI_Interpretation_Layer.md" "Details"
click Output_Generation_Engine href "https://github.com/CodeBoarding/CodeBoarding/blob/main/.codeboarding/Output_Generation_Engine.md" "Details"
The CodeBoarding system operates through a robust, multi-component architecture designed for automated documentation generation. The API Service acts as the primary external interface, handling user requests and initiating documentation jobs. These jobs are managed by the Orchestration Engine, which coordinates the entire pipeline, leveraging the Job Database for persistent state management. Code acquisition and version control interactions are handled by the Repository Manager. Deep, language-specific code analysis, now with enhanced VS Code integration, is performed by the Static Analysis Engine, providing detailed structural information. This data is then fed to the AI Interpretation Layer, a sophisticated collection of AI agents that generate high-level architectural insights, utilizing a modular prompt management system. Finally, the Output Generation Engine transforms these insights into various documentation formats, delivering them back to the API Service and integrating with GitHub Actions.
API Service [Expand]
The external interface for CodeBoarding, handling user requests, job initiation, status retrieval, and integrating with GitHub Actions for automated documentation generation.
Related Classes/Methods:
Persistent storage for managing the lifecycle, status, and results of all documentation generation jobs.
Related Classes/Methods:
Orchestration Engine [Expand]
The central control unit that manages the entire documentation generation pipeline, coordinating all analysis and generation stages.
Related Classes/Methods:
Repository Manager [Expand]
Manages all interactions with source code repositories, including cloning, fetching, and extracting version differences.
Related Classes/Methods:
Static Analysis Engine [Expand]
Performs deep, language-specific analysis of source code, now explicitly including reference resolution capabilities and enhanced integration with the VS Code environment, potentially leveraging VS Code-specific settings or protocols.
Related Classes/Methods:
AI Interpretation Layer [Expand]
A collection of specialized AI agents that perform sophisticated interpretation of static analysis data, generating enhanced high-level architectural insights, including detailed abstractions, refined planning, robust validation, and comprehensive diff analysis. This layer now features a significantly enhanced prompt management system, utilizing an abstract_prompt_factory and concrete implementations (e.g., gemini_flash_prompts_bidirectional, gemini_flash_prompts_unidirectional) for structured prompt definition, selection, and application, supporting various language models (e.g., Gemini Flash) and prompting strategies. The prompt_factory has been refactored to integrate this modular and extensible system.
Related Classes/Methods:
meta_agentabstraction_agentdetails_agentplanner_agentvalidator_agentdiff_analyzeragentagent_responsespromptsabstract_prompt_factorygemini_flash_prompts_bidirectionalgemini_flash_prompts_unidirectionalprompt_factory:37-46
Output Generation Engine [Expand]
Transforms the final, validated architectural insights into various human-readable and diagram-friendly documentation formats, with enhanced capabilities for specific output formats and external integrations like GitHub Actions.
Related Classes/Methods:
Component for all unclassified files and utility functions (Utility functions/External Libraries/Dependencies)
Related Classes/Methods: None
Component for all unclassified files and utility functions (Utility functions/External Libraries/Dependencies)
Related Classes/Methods: None