Contributor Guidelines
This document outlines the standards and patterns for contributing to the GenHub documentation system.
Documentation Structure
GenHub uses VitePress for documentation. The structure is organized as follows:
/docs: Root directory for all documentation./docs/dev: Technical documentation for developers (constants, models, converters)./docs/features: Detailed descriptions of application features./docs/FlowCharts: Mermaid-based flowcharts representing system logic./docs/.vitepress/config.js: Central configuration for the sidebar and navigation.
Standardized Patterns
Constants Documentation
When adding new constants to the codebase:
- Update the corresponding C# class in
GenHub.Core/Constants. - Update
docs/dev/constants.mdby adding a new## ClassName Classsection. - Use markdown tables for listing constants and their values/descriptions.
Model Documentation
When adding or modifying data models:
- Update
docs/dev/models.md. - Include C# record/class snippets for clarity.
- Explain the Purpose of the model if it's not immediately obvious.
Mermaid Flowcharts
Flowcharts use the vitepress-plugin-mermaid.
- Themes are customized in
.vitepress/config.js. - Use
graph TDfor top-down logic. - Maintain consistent
classDefstyles for Orchestrators, Providers, and Components.
Maintenance Guidelines
- Scope of Changes: Always ensure that documentation updates match the scope of code changes (e.g., if a new provider is added, document it in both
features/anddev/sections). - Cross-Referencing: Link to other parts of the documentation using relative links (e.g.,
[Content Pipeline](../features/content.md)). - Diagram Updates: If logic flows change (e.g., adding a new step to content resolution), update the corresponding mermaid diagram in
docs/FlowCharts/.
