Update Standard OO Component Documentation
Update the existing documentation file at: ${file} by analyzing the corresponding component code.
Extract the component path from the existing documentation's front matter (component_path field) or infer it from the documentation content. Analyze the current component implementation and update the documentation accordingly.
Documentation Standards:
- DOC-001: Follow C4 Model documentation levels (Context, Containers, Components, Code)
- DOC-002: Align with Arc42 software architecture documentation template
- DOC-003: Comply with IEEE 1016 Software Design Description standard
- DOC-004: Use Agile Documentation principles (just enough documentation that adds value)
- DOC-005: Target developers and maintainers as primary audience
Analysis Instructions:
- ANA-001: Read existing documentation to understand component context and structure
- ANA-002: Identify component path from front matter or content analysis
- ANA-003: Examine current source code files for class structures and inheritance
- ANA-004: Compare existing documentation with current implementation
- ANA-005: Identify design patterns and architectural changes
- ANA-006: Update public APIs, interfaces, and dependencies
- ANA-007: Recognize new/changed creational/structural/behavioral patterns
- ANA-008: Update method parameters, return values, exceptions
- ANA-009: Reassess performance, security, reliability, maintainability
- ANA-010: Update integration patterns and data flow
Language-Specific Optimizations:
- LNG-001: C#/.NET - async/await, dependency injection, configuration, disposal
- LNG-002: Java - Spring framework, annotations, exception handling, packaging
- LNG-003: TypeScript/JavaScript - modules, async patterns, types, npm
- LNG-004: Python - packages, virtual environments, type hints, testing
Update Strategy:
- UPD-001: Preserve existing documentation structure and format
- UPD-002: Update
last_updated field to current date
- UPD-003: Maintain version history in front matter if present
- UPD-004: Add new sections if component has significantly expanded
- UPD-005: Mark deprecated features or breaking changes
- UPD-006: Update examples to reflect current API
- UPD-007: Refresh dependency lists and versions
- UPD-008: Update mermaid diagrams to reflect current architecture
Error Handling:
- ERR-001: Documentation file doesn't exist - provide guidance on file location
- ERR-002: Component path not found in documentation - request clarification
- ERR-003: Source code has moved - suggest updated paths
- ERR-004: Major architectural changes - highlight breaking changes
- ERR-005: Insufficient access to source - document limitations
Output Format:
Update the existing Markdown file maintaining its structure while refreshing content to match current implementation. Preserve formatting, heading hierarchy, and existing organizational decisions.
Required Documentation Structure:
Update the existing documentation following the same template structure, ensuring all sections reflect current implementation:
---
title: [Component Name] - Technical Documentation
component_path: [Current component path]
version: [Updated version if applicable]
date_created: [Original creation date - preserve]
last_updated: [YYYY-MM-DD - update to current date]
owner: [Preserve existing or update if changed]
tags: [Update tags as needed based on current functionality]
---
# [Component Name] Documentation
[Update introduction to reflect current component purpose and capabilities]
## 1. Component Overview
### Purpose/Responsibility
- OVR-001: Update component's primary responsibility
- OVR-002: Refresh scope (included/excluded functionality)
- OVR-003: Update system context and relationships
## 2. Architecture Section
- ARC-001: Update design patterns used (Repository, Factory, Observer, etc.)
- ARC-002: Refresh internal and external dependencies with current purposes
- ARC-003: Update component interactions and relationships
- ARC-004: Update visual diagrams (UML class, sequence, component)
- ARC-005: Refresh mermaid diagram showing current component structure, relationships, and dependencies
### Component Structure and Dependencies Diagram
Update the mermaid diagram to show current:
- **Component structure** - Current classes, interfaces, and their relationships
- **Internal dependencies** - How components currently interact within the system
- **External dependencies** - Current external libraries, services, databases, APIs
- **Data flow** - Current direction of dependencies and interactions
- **Inheritance/composition** - Current class hierarchies and composition relationships
```mermaid
[Update diagram to reflect current architecture]
3. Interface Documentation
- INT-001: Update all public interfaces and current usage patterns
- INT-002: Refresh method/property reference table with current API
- INT-003: Update events/callbacks/notification mechanisms
| Method/Property |
Purpose |
Parameters |
Return Type |
Usage Notes |
| [Update table with current API] |
|
|
|
|
4. Implementation Details
- IMP-001: Update main implementation classes and current responsibilities
- IMP-002: Refresh configuration requirements and initialization patterns
- IMP-003: Update key algorithms and business logic
- IMP-004: Update performance characteristics and bottlenecks
5. Usage Examples
Basic Usage
// Update basic usage example to current API
Advanced Usage
// Update advanced configuration patterns to current implementation
- USE-001: Update basic usage examples
- USE-002: Refresh advanced configuration patterns
- USE-003: Update best practices and recommended patterns
6. Quality Attributes
- QUA-001: Update security (authentication, authorization, data protection)
- QUA-002: Refresh performance (characteristics, scalability, resource usage)
- QUA-003: Update reliability (error handling, fault tolerance, recovery)
- QUA-004: Refresh maintainability (standards, testing, documentation)
- QUA-005: Update extensibility (extension points, customization options)
7. Reference Information
- REF-001: Update dependencies with current versions and purposes
- REF-002: Refresh configuration options reference
- REF-003: Update testing guidelines and mock setup
- REF-004: Refresh troubleshooting (common issues, error messages)
- REF-005: Update related documentation links
- REF-006: Add change history and migration notes for this update
1---2name: update-oo-component-documentation3description: Update existing object-oriented component documentation following industry best practices and architectural documentation standards.4---5
6# Update Standard OO Component Documentation
7
8Update the existing documentation file at: `${file}` by analyzing the corresponding component code.
9
10Extract the component path from the existing documentation's front matter (`component_path` field) or infer it from the documentation content. Analyze the current component implementation and update the documentation accordingly.
11
12**Documentation Standards:**
13
14- DOC-001: Follow C4 Model documentation levels (Context, Containers, Components, Code)
15- DOC-002: Align with Arc42 software architecture documentation template
16- DOC-003: Comply with IEEE 1016 Software Design Description standard
17- DOC-004: Use Agile Documentation principles (just enough documentation that adds value)
18- DOC-005: Target developers and maintainers as primary audience
19
20**Analysis Instructions:**
21
22- ANA-001: Read existing documentation to understand component context and structure
23- ANA-002: Identify component path from front matter or content analysis
24- ANA-003: Examine current source code files for class structures and inheritance
25- ANA-004: Compare existing documentation with current implementation
26- ANA-005: Identify design patterns and architectural changes
27- ANA-006: Update public APIs, interfaces, and dependencies
28- ANA-007: Recognize new/changed creational/structural/behavioral patterns
29- ANA-008: Update method parameters, return values, exceptions
30- ANA-009: Reassess performance, security, reliability, maintainability
31- ANA-010: Update integration patterns and data flow
32
33**Language-Specific Optimizations:**
34
35- LNG-001: **C#/.NET** - async/await, dependency injection, configuration, disposal
36- LNG-002: **Java** - Spring framework, annotations, exception handling, packaging
37- LNG-003: **TypeScript/JavaScript** - modules, async patterns, types, npm
38- LNG-004: **Python** - packages, virtual environments, type hints, testing
39
40**Update Strategy:**
41
42- UPD-001: Preserve existing documentation structure and format
43- UPD-002: Update `last_updated` field to current date
44- UPD-003: Maintain version history in front matter if present
45- UPD-004: Add new sections if component has significantly expanded
46- UPD-005: Mark deprecated features or breaking changes
47- UPD-006: Update examples to reflect current API
48- UPD-007: Refresh dependency lists and versions
49- UPD-008: Update mermaid diagrams to reflect current architecture
50
51**Error Handling:**
52
53- ERR-001: Documentation file doesn't exist - provide guidance on file location
54- ERR-002: Component path not found in documentation - request clarification
55- ERR-003: Source code has moved - suggest updated paths
56- ERR-004: Major architectural changes - highlight breaking changes
57- ERR-005: Insufficient access to source - document limitations
58
59**Output Format:**
60
61Update the existing Markdown file maintaining its structure while refreshing content to match current implementation. Preserve formatting, heading hierarchy, and existing organizational decisions.
62
63**Required Documentation Structure:**
64
65Update the existing documentation following the same template structure, ensuring all sections reflect current implementation:
66
67```md
68---
69title: [Component Name] - Technical Documentation
70component_path: [Current component path]
71version: [Updated version if applicable]
72date_created: [Original creation date - preserve]
73last_updated: [YYYY-MM-DD - update to current date]
74owner: [Preserve existing or update if changed]
75tags: [Update tags as needed based on current functionality]
76---
77
78# [Component Name] Documentation
79
80[Update introduction to reflect current component purpose and capabilities]
81
82## 1. Component Overview
83
84### Purpose/Responsibility
85- OVR-001: Update component's primary responsibility
86- OVR-002: Refresh scope (included/excluded functionality)
87- OVR-003: Update system context and relationships
88
89## 2. Architecture Section
90
91- ARC-001: Update design patterns used (Repository, Factory, Observer, etc.)
92- ARC-002: Refresh internal and external dependencies with current purposes
93- ARC-003: Update component interactions and relationships
94- ARC-004: Update visual diagrams (UML class, sequence, component)
95- ARC-005: Refresh mermaid diagram showing current component structure, relationships, and dependencies
96
97### Component Structure and Dependencies Diagram
98
99Update the mermaid diagram to show current:
100- **Component structure** - Current classes, interfaces, and their relationships
101- **Internal dependencies** - How components currently interact within the system
102- **External dependencies** - Current external libraries, services, databases, APIs
103- **Data flow** - Current direction of dependencies and interactions
104- **Inheritance/composition** - Current class hierarchies and composition relationships
105
106```mermaid
107[Update diagram to reflect current architecture]
108```
109
110## 3. Interface Documentation
111
112- INT-001: Update all public interfaces and current usage patterns
113- INT-002: Refresh method/property reference table with current API
114- INT-003: Update events/callbacks/notification mechanisms
115
116| Method/Property | Purpose | Parameters | Return Type | Usage Notes |
117|-----------------|---------|------------|-------------|-------------|
118| [Update table with current API] | | | | |
119
120## 4. Implementation Details
121
122- IMP-001: Update main implementation classes and current responsibilities
123- IMP-002: Refresh configuration requirements and initialization patterns
124- IMP-003: Update key algorithms and business logic
125- IMP-004: Update performance characteristics and bottlenecks
126
127## 5. Usage Examples
128
129### Basic Usage
130
131```csharp
132// Update basic usage example to current API
133```
134
135### Advanced Usage
136
137```csharp
138// Update advanced configuration patterns to current implementation
139```
140
141- USE-001: Update basic usage examples
142- USE-002: Refresh advanced configuration patterns
143- USE-003: Update best practices and recommended patterns
144
145## 6. Quality Attributes
146
147- QUA-001: Update security (authentication, authorization, data protection)
148- QUA-002: Refresh performance (characteristics, scalability, resource usage)
149- QUA-003: Update reliability (error handling, fault tolerance, recovery)
150- QUA-004: Refresh maintainability (standards, testing, documentation)
151- QUA-005: Update extensibility (extension points, customization options)
152
153## 7. Reference Information
154
155- REF-001: Update dependencies with current versions and purposes
156- REF-002: Refresh configuration options reference
157- REF-003: Update testing guidelines and mock setup
158- REF-004: Refresh troubleshooting (common issues, error messages)
159- REF-005: Update related documentation links
160- REF-006: Add change history and migration notes for this update
161
162```