diff --git a/.github/ISSUE_TEMPLATE/01-bug-report.yml b/.github/ISSUE_TEMPLATE/01-bug-report.yml new file mode 100644 index 00000000..f1519c94 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01-bug-report.yml @@ -0,0 +1,89 @@ +name: Bug report +description: Report something that is not working correctly. +title: "[Bug]: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for reporting a problem. Please do not report security vulnerabilities here; use the instructions in SECURITY.md instead. + + - type: textarea + id: what-happened + attributes: + label: What happened? + description: Briefly describe the problem. + placeholder: Example: The program closes when I click Run Analysis. + validations: + required: true + + - type: textarea + id: expected-behavior + attributes: + label: What did you expect to happen? + description: Tell us what you expected instead. + placeholder: Example: I expected the analysis to finish and show the results table. + validations: + required: true + + - type: textarea + id: steps-to-reproduce + attributes: + label: Steps to reproduce + description: List the steps that caused the problem, if you know them. + value: | + 1. + 2. + 3. + validations: + required: false + + - type: input + id: affected-area + attributes: + label: Affected area or control + description: Name the project, window, tool, or control if you know it. + placeholder: Example: AvalonDock layout, DataTableView, OxyPlot control + validations: + required: false + + - type: input + id: framework-version + attributes: + label: WPF Framework version or commit + description: Enter the version, package number, branch, or commit if you know it. + placeholder: Example: v1.0.0 or commit abc1234 + validations: + required: false + + - type: input + id: environment + attributes: + label: Windows, .NET, and Visual Studio details + description: Add any version details you know. + placeholder: Example: Windows 11, .NET 10 SDK, Visual Studio version if relevant + validations: + required: false + + - type: dropdown + id: theme + attributes: + label: Theme + description: Choose the theme if the issue is visual. + options: + - Not sure or not visual + - Light + - Dark + - Blue + - Multiple themes + validations: + required: false + + - type: upload + id: files + attributes: + label: Screenshots, logs, or sample files + description: Upload anything that helps explain the problem. + validations: + required: false + accept: ".png,.jpg,.jpeg,.gif,.webp,.svg,.log,.txt,.csv,.json,.zip,.pdf,.docx,.xlsx" diff --git a/.github/ISSUE_TEMPLATE/02-feature-request.yml b/.github/ISSUE_TEMPLATE/02-feature-request.yml new file mode 100644 index 00000000..a9351e22 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02-feature-request.yml @@ -0,0 +1,66 @@ +name: Feature request +description: Suggest a new feature or improvement. +title: "[Feature]: " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Thanks for suggesting an improvement. Please focus on the user need or workflow problem. + + - type: textarea + id: problem + attributes: + label: What problem would this solve? + description: Describe the user need or workflow problem. + placeholder: Example: I need to compare several scenarios without exporting each result manually. + validations: + required: true + + - type: textarea + id: desired-behavior + attributes: + label: What would you like to happen? + description: Describe the feature or improvement. + placeholder: Example: Add a button to export all scenario results to one Excel file. + validations: + required: true + + - type: dropdown + id: importance + attributes: + label: How important is this to your work? + options: + - Nice to have + - Helpful + - Important + - Blocking my work + validations: + required: true + + - type: textarea + id: workaround + attributes: + label: Current workaround + description: How are you handling this now, if at all? + placeholder: Example: I manually copy results from each scenario into Excel. + validations: + required: false + + - type: input + id: affected-area + attributes: + label: Affected area or control + description: Name the project, window, tool, or control if you know it. + placeholder: Example: Project explorer, theme system, NumericControls + validations: + required: false + + - type: upload + id: examples + attributes: + label: Examples, screenshots, or files + description: Upload anything that helps explain the request. + validations: + required: false + accept: ".png,.jpg,.jpeg,.gif,.webp,.svg,.txt,.csv,.json,.zip,.pdf,.docx,.xlsx,.pptx" diff --git a/.github/ISSUE_TEMPLATE/03-documentation.yml b/.github/ISSUE_TEMPLATE/03-documentation.yml new file mode 100644 index 00000000..6c12ab8a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03-documentation.yml @@ -0,0 +1,54 @@ +name: Documentation +description: Report missing, unclear, or incorrect documentation. +title: "[Docs]: " +labels: ["documentation"] +body: + - type: textarea + id: location + attributes: + label: Where is the documentation issue? + description: Link to the page, section, help topic, or file if possible. + placeholder: Example: User Guide, Section 3.2, Importing Data + validations: + required: true + + - type: dropdown + id: issue-type + attributes: + label: What type of documentation issue is this? + options: + - Missing information + - Unclear explanation + - Incorrect information + - Typo or formatting problem + - Example needed + - Other + validations: + required: true + + - type: textarea + id: description + attributes: + label: Describe the issue + description: What is confusing, missing, or incorrect? + placeholder: Example: The guide says to select an output folder, but the current interface uses a file picker instead. + validations: + required: true + + - type: textarea + id: suggested-change + attributes: + label: Suggested change + description: Optional. Suggest wording or content that would help. + placeholder: Example: Add a screenshot showing the current import window. + validations: + required: false + + - type: upload + id: files + attributes: + label: Screenshots or files + description: Upload screenshots or examples if helpful. + validations: + required: false + accept: ".png,.jpg,.jpeg,.gif,.webp,.svg,.txt,.csv,.json,.zip,.pdf,.docx,.xlsx,.pptx" diff --git a/.github/ISSUE_TEMPLATE/04-question.yml b/.github/ISSUE_TEMPLATE/04-question.yml new file mode 100644 index 00000000..45f2e01e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/04-question.yml @@ -0,0 +1,54 @@ +name: Question +description: Ask a specific question about using the project. +title: "[Question]: " +labels: ["question"] +body: + - type: markdown + attributes: + value: | + Please use this form for specific usage questions. + + - type: textarea + id: question + attributes: + label: What is your question? + description: Ask the question as clearly as possible. + placeholder: Example: Which input file should I use for a frequency curve with historical information? + validations: + required: true + + - type: textarea + id: goal + attributes: + label: What are you trying to do? + description: Briefly describe your workflow or goal. + placeholder: Example: I am trying to estimate a stage-frequency curve for a reservoir risk assessment. + validations: + required: false + + - type: textarea + id: tried + attributes: + label: What have you already tried? + description: Optional. Tell us what documentation, settings, or examples you checked. + placeholder: Example: I read the user guide and tried the sample dataset. + validations: + required: false + + - type: input + id: affected-area + attributes: + label: Affected area or control + description: Name the project, window, tool, or control if you know it. + placeholder: Example: Database controls, DAG demo, theme system + validations: + required: false + + - type: upload + id: files + attributes: + label: Screenshots or files + description: Upload files or screenshots if they help explain the question. + validations: + required: false + accept: ".png,.jpg,.jpeg,.gif,.webp,.svg,.log,.txt,.csv,.json,.zip,.pdf,.docx,.xlsx" diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index c1e877b2..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -name: Bug report -about: Report a reproducible problem in WPF Framework -title: "" -labels: bug -assignees: "" ---- - -## Description - -A clear, concise description of the problem. - -## Steps to Reproduce - -1. -2. -3. - -## Expected Behavior - -What you expected to happen. - -## Actual Behavior - -What actually happened. Include error messages, stack traces, or screenshots if applicable. - -## Environment - -- **WPF Framework version / commit:** -- **.NET SDK version:** (`dotnet --version`) -- **Operating system:** (Windows 10, Windows 11, version number) -- **Visual Studio version (if relevant):** -- **Theme in use (Light / Dark / Blue):** -- **Which project / control is affected:** - -## Additional Context - -Any relevant configuration, input data, or observations. If the bug only surfaces with a particular AvalonDock layout, attach the XAML snippet or the serialized layout file. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..3ba13e0c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index bd5a1307..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: Feature request -about: Propose an enhancement to WPF Framework -title: "" -labels: enhancement -assignees: "" ---- - -## Use Case - -What problem are you trying to solve? What workflow or application would this enable? - -## Proposed Solution - -How you envision the feature working. Include API sketches, XAML examples, or user-facing behavior if you have them in mind. - -## Alternatives Considered - -Other approaches you've considered or used, and why they fall short. - -## Additional Context - -Links to references, similar implementations in other frameworks, or screenshots that illustrate the idea. - ---- - -**Note:** Please open an issue before starting work on a pull request. Our review capacity is limited (see [CONTRIBUTING.md](../CONTRIBUTING.md)) and discussing the proposal first helps avoid duplicated effort. diff --git a/.github/workflows/NuGetPublish.yml b/.github/workflows/NuGetPublish.yml index 62e683d4..d8860296 100644 --- a/.github/workflows/NuGetPublish.yml +++ b/.github/workflows/NuGetPublish.yml @@ -6,6 +6,7 @@ on: permissions: contents: read + id-token: write jobs: publish: @@ -45,10 +46,16 @@ jobs: shell: pwsh run: .\scripts\pack-wpf-framework.ps1 -Configuration Release -Version $env:VERSION -OutputDirectory packages -SkipRestore -SkipBuild + - name: NuGet login + uses: NuGet/login@v1 + id: login + with: + user: USACE-RMC + - name: Push to NuGet.org shell: pwsh env: - NUGET_API_KEY: ${{ secrets.NUGET_ORG_API_KEY }} + NUGET_API_KEY: ${{ steps.login.outputs.NUGET_API_KEY }} run: | $packageIds = @( "RMC.Wpf.Framework.Core", diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6d0dc746..510dcb03 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,21 +12,22 @@ If you plan to submit a pull request, please open an issue first to discuss your ### Report a Bug -If you find a bug, please [open an issue](../../issues/new) and include: +If you find a bug, please [open a bug report](../../issues/new/choose) and include: -- Steps to reproduce the problem -- Input data and configuration (if applicable) -- Expected behavior vs. actual behavior -- Software version and operating system -- Any relevant error messages or screenshots +- What happened and what you expected instead +- Steps to reproduce the problem, if you know them +- The affected area or control, if you know it +- Software version and operating system details, if available +- Any relevant error messages, screenshots, logs, or sample files ### Request a Feature -Feature requests are welcome. Please [open an issue](../../issues/new) describing: +Feature requests are welcome. Please [open a feature request](../../issues/new/choose) describing: - The use case or problem you are trying to solve -- How you envision the feature working -- Any references to similar implementations in other frameworks +- What you would like the software or documentation to do +- How important the request is to your work +- Any current workaround, examples, screenshots, or files ### Submit a Pull Request