| name | generate-documentation |
| description | Generate or update README.md and XML doc-comments for an Acontplus library. Use when documenting a library, refreshing package docs, or adding missing XML summaries. |
Process
Step 1 — Clarify (if not provided)
- Target library — e.g.
Acontplus.Notifications
- Scope — README only / XML doc-comments only / both
- Audience — internal, public NuGet, or both
Step 2 — Generate README.md
Path: src/Acontplus.<Name>/README.md
Follow readme-conventions.md steering strictly — no version-stamped content, no change history.
Canonical section order — this order is mandatory:
- Title + 3 badges (NuGet, .NET, License)
- One-paragraph description
## Features — current capabilities, no version refs
- Architecture diagram (only for qualifying packages — see Step 2a)
## Installation
## Quick Start
## Configuration — JSON snippet + C# registration
## Usage Examples
## Requirements
## Troubleshooting (optional)
## License
Badge template:
[](https://www.nuget.org/packages/Acontplus.<Name>)
[](https://dotnet.microsoft.com/download/dotnet/10.0)
[](LICENSE)
Step 2a — Architecture Diagram Decision
Only add a diagram to the README for packages with non-obvious internal structure.
Add a diagram (place after ## Features, before ## Installation, ≤ ~20 nodes):
Core — Domain/, Abstractions/, Validation/, DTOs/ layer relationships
Billing — SRI async authorization sequence
Infrastructure — the 5 subsystems (Caching, Resilience, HTTP, Middleware, HealthChecks)
Persistence.SqlServer / Persistence.PostgreSQL — EF Core vs ADO.NET dual-access
Notifications — multi-channel map (Email/WhatsApp/SES/Templates)
Do NOT add a diagram (text description is sufficient):
Reports, Services, Utilities, Analytics, Barcode, Logging, S3Application, ApiDocumentation, Persistence.Common
If adding one: one sentence above the diagram block. Use Mermaid v11 markdown strings with config: htmlLabels: false.
For complex diagrams that would exceed ~20 nodes, link to the wiki instead:
> Full architecture diagrams: [Architecture](https://github.com/acontplus/acontplus-dotnet-libs/wiki/Architecture)
Step 3 — Add XML Doc-Comments
Every public and protected member must have <summary>.
Classes/Interfaces:
public class MyService : IMyService
Methods:
public async Task<Result<T>> GetByIdAsync(string id, CancellationToken cancellationToken = default)
Properties: /// <summary>Gets or sets X.</summary>
Enums: document the type and each member individually.
Use <inheritdoc /> on implementations to avoid duplication.
Step 4 — Quality Checklist
Step 5 — Verify
dotnet build src/Acontplus.<Name>
0 errors and 0 CS1591 warnings required before finishing.