|
| 1 | +```markdown |
| 2 | +# Documentation Process for AiDotNet |
| 3 | + |
| 4 | +This document outlines the process for systematically documenting all classes in the AiDotNet project. |
| 5 | + |
| 6 | +## Documentation Workflow |
| 7 | + |
| 8 | +1. **Prioritize Classes**: |
| 9 | + - Start with core classes that are most frequently used |
| 10 | + - Then move to supporting classes |
| 11 | + - Finally document utility and helper classes |
| 12 | + |
| 13 | +2. **Documentation Checklist for Each Class**: |
| 14 | + - [ ] Class-level documentation |
| 15 | + - [ ] Property documentation |
| 16 | + - [ ] Constructor documentation |
| 17 | + - [ ] Public method documentation |
| 18 | + - [ ] Protected/internal method documentation if relevant for extenders |
| 19 | + - [ ] Examples of usage in complex cases |
| 20 | + |
| 21 | +3. **Review Process**: |
| 22 | + - Self-review: Check for clarity, completeness, and accuracy |
| 23 | + - Peer review: Have another team member review the documentation |
| 24 | + - Beginner review (if possible): Have someone unfamiliar with the code read the documentation to verify clarity |
| 25 | + |
| 26 | +## Documentation Tools |
| 27 | + |
| 28 | +- Use Visual Studio's built-in XML documentation features |
| 29 | +- Consider using GhostDoc extension for Visual Studio to generate initial documentation templates |
| 30 | +- Use DocFX to generate documentation websites from XML comments |
| 31 | + |
| 32 | +## Tracking Progress |
| 33 | + |
| 34 | +Create a documentation tracking spreadsheet with the following columns: |
| 35 | +- Class name |
| 36 | +- Namespace |
| 37 | +- Documentation status (Not Started, In Progress, Complete) |
| 38 | +- Reviewer |
| 39 | +- Review status |
| 40 | +- Priority (High, Medium, Low) |
| 41 | + |
| 42 | +## Documentation Automation |
| 43 | + |
| 44 | +Consider creating a script to: |
| 45 | +1. Identify classes without proper documentation |
| 46 | +2. Generate basic documentation templates |
| 47 | +3. Report on documentation coverage |
| 48 | + |
| 49 | +Example PowerShell script to find classes with missing documentation: |
| 50 | + |
| 51 | +```powershell |
| 52 | +Get-ChildItem -Path "C:\Users\yolan\source\repos\AiDotNet\src" -Filter "*.cs" -Recurse | |
| 53 | +ForEach-Object { |
| 54 | + $content = Get-Content $_.FullName -Raw |
| 55 | + if ($content -match "public class" -and $content -notmatch "/// <summary>") { |
| 56 | + Write-Output "Missing documentation: $($_.FullName)" |
| 57 | + } |
| 58 | +} |
0 commit comments