diff --git a/.github/DISCUSSION_TEMPLATE/announcements.yml b/.github/DISCUSSION_TEMPLATE/announcements.yml new file mode 100644 index 0000000..6999536 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/announcements.yml @@ -0,0 +1,18 @@ +title: "[Announcement]: " +labels: + - announcement +body: + - type: markdown + attributes: + value: | + Use this template for official announcements: new releases, adoption news, governance changes, maintainer changes, or other org-wide updates. + + Only maintainers and the Steward should post in this category. Community members can react and reply. + + - type: textarea + id: announcement + attributes: + label: Announcement + description: The full announcement text. Include links to relevant issues, PRs, or releases. + validations: + required: true diff --git a/.github/DISCUSSION_TEMPLATE/general.yml b/.github/DISCUSSION_TEMPLATE/general.yml new file mode 100644 index 0000000..a179fdb --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/general.yml @@ -0,0 +1,16 @@ +title: "" +labels: [] +body: + - type: markdown + attributes: + value: | + This is the place for general conversation about PowerShellOrg and its projects. + + For bug reports, use [Issues](../../issues/new/choose). For feature requests, use [Issues](../../issues/new/choose). For how-to questions, use the [Q&A category](../../discussions/new?category=q-a). + + - type: textarea + id: discussion + attributes: + label: What's on your mind? + validations: + required: true diff --git a/.github/DISCUSSION_TEMPLATE/ideas.yml b/.github/DISCUSSION_TEMPLATE/ideas.yml new file mode 100644 index 0000000..6230618 --- /dev/null +++ b/.github/DISCUSSION_TEMPLATE/ideas.yml @@ -0,0 +1,26 @@ +title: "[Idea]: " +labels: + - idea +body: + - type: markdown + attributes: + value: | + Share an idea that is not yet ready for a formal feature request. This is a good place to get early feedback, gauge interest, and shape a proposal before opening an Issue. + + If an idea gets strong support here, a maintainer may ask you to convert it into a Feature Request issue. + + - type: textarea + id: idea + attributes: + label: The idea + description: Describe the idea and the problem it solves. + validations: + required: true + + - type: textarea + id: context + attributes: + label: Why now / why this? + description: What prompted this idea? Is there a specific workflow or gap it addresses? + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..f699ef6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,91 @@ +name: Bug Report +description: Report incorrect or unexpected behavior in a PowerShellOrg module. +title: "[Bug]: " +labels: + - bug + - needs-triage +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to report a bug. Please fill in as much detail as you can — complete reports get triaged and fixed faster. + + Before submitting, please [search existing issues](../../issues?q=is%3Aissue+label%3Abug) to avoid duplicates. + + - type: dropdown + id: ps-version + attributes: + label: PowerShell Version + description: Which PowerShell version(s) does this affect? + options: + - "5.1 (Windows PowerShell)" + - "7.x (PowerShell Core)" + - "Both 5.1 and 7.x" + validations: + required: true + + - type: dropdown + id: os + attributes: + label: Operating System + description: Which operating system(s) does this affect? + options: + - Windows + - Linux + - macOS + - All platforms + validations: + required: true + + - type: input + id: module-version + attributes: + label: Module Version + description: Output of `(Get-Module ModuleName).Version` or the version listed in `Import-Module -Verbose`. + placeholder: "e.g., 2.1.3" + validations: + required: true + + - type: textarea + id: what-happened + attributes: + label: What happened? + description: A clear and concise description of what the bug is. Include any error messages exactly as they appeared. + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What did you expect to happen instead? + validations: + required: true + + - type: textarea + id: repro + attributes: + label: Minimal reproduction + description: | + The smallest possible script that demonstrates the problem. Remove everything not needed to trigger the bug. + Tip: wrap sensitive values in variables — do not paste real credentials or tokens. + render: powershell + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Error output / logs + description: Paste any relevant error output, stack traces, or verbose logs here. This will be automatically formatted as code. + render: text + validations: + required: false + + - type: textarea + id: additional-context + attributes: + label: Additional context + description: Anything else that might help — related issues, workarounds you have tried, recent changes to your environment. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..633d165 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,14 @@ +blank_issues_enabled: false + +contact_links: + - name: Ask a question (GitHub Discussions) + url: https://github.com/PowerShellOrg/.github/discussions/new?category=q-a + about: Use Discussions for how-to questions. Issues are for bugs and feature requests only. + + - name: Support guide + url: https://github.com/PowerShellOrg/.github/blob/main/.github/SUPPORT.md + about: Not sure where to go? Read our support guide first. + + - name: Security vulnerability + url: https://github.com/PowerShellOrg/.github/blob/main/.github/SECURITY.md + about: Report a security issue privately — do NOT open a public issue. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..8e1f894 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,59 @@ +name: Feature Request +description: Suggest a new feature or improvement for a PowerShellOrg module. +title: "[Feature]: " +labels: + - enhancement + - needs-triage +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to suggest an improvement. Before submitting, please [search existing issues and discussions](../../issues?q=is%3Aissue+label%3Aenhancement) to see if this has already been proposed. + + For large or breaking changes, consider opening a Discussion first to get early feedback before investing time in a detailed proposal. + + - type: textarea + id: problem + attributes: + label: Problem statement + description: | + What problem are you trying to solve? Describe the situation without assuming any particular solution. + Example: "When I have 50 dependency entries, I have no way to see which ones failed without parsing the verbose output manually." + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed solution + description: Describe the feature or change you would like to see. Include proposed parameter names, output format, behavior, or API changes if applicable. + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: What other approaches or workarounds have you tried or considered? Why do they fall short? + validations: + required: false + + - type: dropdown + id: contribution + attributes: + label: Willing to contribute? + description: Would you be willing to open a pull request implementing this feature? + options: + - "Yes — I plan to open a PR" + - "Maybe — I could, with guidance" + - "No — I am requesting someone else implement this" + validations: + required: true + + - type: textarea + id: additional-context + attributes: + label: Additional context + description: Links to related issues, prior art in other tools, screenshots, or anything else that helps illustrate the request. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml new file mode 100644 index 0000000..68d34bf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.yml @@ -0,0 +1,41 @@ +name: Question +description: Ask a question about using a PowerShellOrg module. +title: "[Question]: " +labels: + - question +body: + - type: markdown + attributes: + value: | + ## Before you open an issue + + **Questions are better asked in [GitHub Discussions](../../discussions/new?category=q-a).** Discussions are searchable, so your question and its answer can help future users. Issues are reserved for tracked bugs and feature requests. + + If you have already checked Discussions and still need help, you are in the right place. + + - type: textarea + id: question + attributes: + label: Your question + description: What are you trying to do, and what have you tried so far? + validations: + required: true + + - type: input + id: module-version + attributes: + label: Module Version + placeholder: "e.g., 2.1.3" + validations: + required: false + + - type: dropdown + id: ps-version + attributes: + label: PowerShell Version + options: + - "5.1 (Windows PowerShell)" + - "7.x (PowerShell Core)" + - "Not applicable" + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/tool_adoption_request.yml b/.github/ISSUE_TEMPLATE/tool_adoption_request.yml new file mode 100644 index 0000000..e2b7227 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/tool_adoption_request.yml @@ -0,0 +1,136 @@ +name: Tool Adoption Request +description: Request that PowerShellOrg adopt and maintain an existing PowerShell tool. +title: "[Adoption]: " +labels: + - adoption-request + - needs-triage +body: + - type: markdown + attributes: + value: | + ## Requesting adoption of a PowerShell tool + + Thank you for your interest in bringing a tool under the PowerShellOrg umbrella. Please read [our adoption criteria](https://github.com/PowerShellOrg/.github/blob/main/docs/adoption-criteria.md) before submitting. + + Adoption requests are reviewed by the Council. We aim to respond within **7 days** and make a decision within **30 days**. The process is documented in [GOVERNANCE.md](https://github.com/PowerShellOrg/.github/blob/main/.github/GOVERNANCE.md). + + - type: input + id: tool-name + attributes: + label: Tool / Module Name + placeholder: "e.g., PSDepend" + validations: + required: true + + - type: input + id: repo-url + attributes: + label: Source Repository URL + placeholder: "https://github.com/owner/repo" + validations: + required: true + + - type: input + id: gallery-url + attributes: + label: PowerShell Gallery URL + description: Leave blank if not published to PSGallery. + placeholder: "https://www.powershellgallery.com/packages/ModuleName" + validations: + required: false + + - type: dropdown + id: license + attributes: + label: Current License + description: What license does the tool currently use? + options: + - MIT + - Apache 2.0 + - BSD 2-Clause + - BSD 3-Clause + - GPL v2 + - GPL v3 + - LGPL + - Other OSI-approved license + - No license / unlicensed + - Unknown + validations: + required: true + + - type: dropdown + id: submitter-relationship + attributes: + label: Your relationship to this tool + options: + - "I am the original author" + - "I am a current maintainer (not original author)" + - "I am a contributor (not current maintainer)" + - "I am a user with no prior contribution" + validations: + required: true + + - type: textarea + id: description + attributes: + label: What does this tool do? + description: A brief description of the tool's purpose and who it is for. + validations: + required: true + + - type: textarea + id: current-state + attributes: + label: Current state of the project + description: | + Please fill in what you know: + - Last commit date and last release date + - Number of open issues / open PRs + - Any known bugs or security issues + - Approximate test coverage and CI status + - Whether the original author is reachable and aware of this request + validations: + required: true + + - type: textarea + id: evidence-of-use + attributes: + label: Evidence of real-world use + description: | + Why should PowerShellOrg maintain this? Examples: PSGallery download counts, GitHub stars/forks, companies or projects that depend on it, forum posts or Stack Overflow questions, prominent users. + validations: + required: true + + - type: dropdown + id: original-author-status + attributes: + label: Original author status + description: Do you know whether the original author is aware of and supportive of this adoption request? + options: + - "Yes — author has been contacted and is supportive" + - "Yes — author has been contacted and has no objection" + - "Author is unresponsive / unreachable (please describe in additional notes)" + - "Author is unknown" + - "I am the original author" + validations: + required: true + + - type: dropdown + id: post-adoption-commitment + attributes: + label: Post-adoption maintainer commitment + description: If PowerShellOrg adopts this tool, are you willing to serve as a maintainer? + options: + - "Yes — I commit to at least 6 months of active maintenance" + - "Maybe — I can help but cannot commit to full maintainer responsibilities" + - "No — I am requesting adoption only and cannot maintain it" + validations: + required: true + + - type: textarea + id: additional-notes + attributes: + label: Additional notes + description: Anything else the Council should know — history of the project, why it went unmaintained, alternative tools considered, potential concerns. + validations: + required: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..5069e3a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,28 @@ +## What this changes + + + +## Why + + + +Closes # + +## Type of change + +- [ ] Bug fix (non-breaking change that corrects incorrect behavior) +- [ ] New feature (non-breaking change that adds functionality) +- [ ] Breaking change (fix or feature that changes existing behavior) +- [ ] Chore / refactor / documentation (no behavior change) + +## Checklist + +- [ ] Pester tests added or updated to cover the change +- [ ] `Invoke-psake Analyze` passes locally with no new warnings +- [ ] `Invoke-psake Test` passes locally on at least one platform +- [ ] `CHANGELOG.md` updated (required for any user-facing change) +- [ ] Documentation updated if behavior changed + +## Additional notes + +