Prompt file imported from microsoft/service-fabric-dotnet (
.github/prompts/document.prompt.md). Copyright stays with the author.
- Read
.github/copilot-instructions.mdbefore doing anything else. - Identify top-level
publictypes in the target scope.- Include all types, regardless of their number. User will stop processing if needed.
- Include every public top-level type in a file. Each public top-level type needs to be documented.
{target-type}means{namespace-name}.{type-name} in {relative-file-path}.
- Sort target types from the most generic to the most specific to enable use of
<inheritdoc/>.- Place base types/interfaces before types derived from/implementing them.
- Place generics before specializations. E.g. place
IComparable<T>extension classes before extension classes for types implementingIComparable<T>. - Place providers before consumers. E.g. place
IEnumerable<T>beforeEnumerablethat uses it.
- Ensure
TODO.mdexists in the repo root.- Don't use the
manage_todo_listtool. It cannot handle large lists efficiently. - Use this file template. Add one line for each target type.
Executing `<userRequest>` - [ ] {target-type} - If
TODO.mdalready exists, check the prompt stored in it- If the stored prompt is the same, resume from the first unfinished type.
- If the stored prompt is different, stop and ask what to do.
- Don't use the
- Repeat for each target type, one at a time.
- Print start note:
[{types-finished + 1}/{total-types}] Documenting {target-type} ... - Run the
iteratorsubagent; use this prompt:Ensure `{target-type}` has complete, accurate, compiler-verified XML documentation comments, including the type itself and all of its accessible members. API, functional, code style changes are out of scope. {iterator-output}should be✅ Looks Goodor❓ Needs Human Review.- Don't pause for
iteratorresponses that need human review. User will review them later. - Print finish note:
[{types-finished}/{total-types}] Finished {target-type}: {iterator-output}. - Update the
TODO.md.- Don't re-read the
TODO.mdfile. replace_string_in_filefrom oldString- [ ] {target-type}to newString- [x] {target-type}: {iterator-output}.
- Don't re-read the
- Go to the next type.
- Print start note: