microsoft / microsoft/Documentarian

Add documentation validation tests

Open
#120 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

maintenance
Dominant language
PowerShell
Stars
50
Forks
16
Avg merge
3h 54m
Merged PRs (30d)
2

Description

Prerequisites
  • Accepted Idea: Proposals in this project are created based on ideas that have been marked as Accepted in their Discussion. Before you file an issue for a feature or change, create a discussion. If you file an issue without a discussion, the team may convert it into one.
  • Existing Issue: Search the existing issues and discussions for this repository. If there is an issue or discussion that fits your needs do not file a new one. Subscribe, react, or comment on that issue or discussion instead.
  • Descriptive Title: Write the title for this issue as a short synopsis. If possible, provide context. For example, "Add Get-Foo cmdlet to Documentarian module" instead of "New cmdlet."
Module

Documentarian.DevX

Summary

As a PowerShell module maintainer, I want to be able to validate that my public functions, classes, and enums have accurate and required documentation.

Details

We should define a suite of tests that are independent of the specifics of a module and validate the reference documentation for those modules.

Tests should include:

  • Validate that all public functions have help that includes:
    • A non-empty and non-default synopsis.
    • A non-empty and non-default description.
    • At least one example with code and contextual description.
    • A non-empty and non-default description for every parameter.
    • A non-empty and non-default description for every input.
    • A non-empty and non-default description for every output.
  • Validate that all public enums have help that includes:
    • A non-empty and non-default synopsis.
    • A non-empty and non-default description.
    • A non-empty and non-default description for every value.
  • Validate that all public classes have help that includes:
    • A non-empty and non-default synopsis.
    • A non-empty and non-default description.
    • At least one example with code and contextual description.
    • Documentation for every public constructor overload, including the default constructor if present, that includes:
      • A non-empty and non-default synopsis.
      • A non-empty and non-default description.
      • At least one example with code and contextual description.
      • A non-empty and non-default description for every parameter the constructor has.
      • A non-empty and non-default description for every exception the constructor may throw.
    • Documentation for every public property that includes:
      • A non-empty and non-default synopsis.
      • A non-empty and non-default description.
    • Documentation for every public method that includes:
      • A non-empty and non-default synopsis for the method.
      • A non-empty and non-default description for the method.
      • Documentation for every overload that includes:
        • A non-empty and non-default synopsis.
        • A non-empty and non-default description.
        • At least one example with code and contextual description.
        • A non-empty and non-default description for every parameter the overload has.
        • A non-empty and non-default description for every exception the overload may throw.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Documentarian.DevX module and determine where its module-independent validation tests belong. Define the test coverage for public functions, enums, and classes from the checklist, including required help content, overloads, parameters, inputs, outputs, properties, and exceptions; done means the suite validates each requirement.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
documentation, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.