diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..dc4003c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,106 @@ +name: "Bug Report" +description: "File a bug report to help us improve Sortie" +title: "[Bug]: " +labels: ["bug", "triage"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + Please include as much detail as possible to help us reproduce the issue. + + - type: textarea + id: description + attributes: + label: "Description" + description: "A clear and concise description of what the bug is." + placeholder: "Tell us what you see..." + validations: + required: true + + - type: textarea + id: steps-to-reproduce + attributes: + label: "Steps to reproduce" + description: "How do you trigger this bug?" + placeholder: | + 1. Go to ... + 2. Click on Launch for app ... + 3. Observe the error + validations: + required: true + + - type: textarea + id: expected-behavior + attributes: + label: "Expected behavior" + description: "What did you expect to happen?" + validations: + required: true + + - type: textarea + id: actual-behavior + attributes: + label: "Actual behavior" + description: "What actually happened?" + validations: + required: true + + - type: input + id: sortie-version + attributes: + label: "Sortie Version" + description: "Commit hash, tag, or sortie version output" + validations: + required: true + + - type: dropdown + id: deployment-method + attributes: + label: "Deployment Method" + description: "How did you deploy Sortie?" + options: + - "Local (make dev)" + - "Docker" + - "Kubernetes (Kind)" + - "Kubernetes (Helm)" + - "Other" + default: 0 + validations: + required: true + + - type: input + id: host-os + attributes: + label: "Host OS" + description: "OS where Sortie backend or K8s cluster runs" + placeholder: "e.g. Ubuntu 22.04, macOS 14, Windows 11" + + - type: input + id: client-browser + attributes: + label: "Client Browser" + description: "Browser used to access Sortie" + placeholder: "e.g. Chrome 124, Firefox 125" + + - type: input + id: k8s-version + attributes: + label: "Kubernetes Version" + description: "Output of kubectl version --short or kind version" + + - type: textarea + id: logs + attributes: + label: "Relevant log output" + description: "Paste backend, browser console, or kubectl logs" + render: shell + + - type: checkboxes + id: terms + attributes: + label: "Code of Conduct" + description: "By submitting this issue, you agree to follow this project Code of Conduct" + options: + - label: "I agree to follow this projects Code of Conduct" + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..948719d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: true +contact_links: + - name: Documentation + url: https://github.com/rjsadow/sortie/tree/main/docs-site + about: Check the docs before opening an issue. + - name: Discussions + url: https://github.com/rjsadow/sortie/discussions + about: Ask questions and discuss ideas with the community. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..9c0240e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,65 @@ +name: "Feature Request" +description: "Suggest an idea for Sortie" +title: "[Feature]: " +labels: ["enhancement", "triage"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to suggest a feature! + Please describe your idea and how it would help Sortie users. + + - type: textarea + id: problem + attributes: + label: "Problem Description" + description: "Is your feature request related to a problem?" + placeholder: "I am always frustrated when..." + validations: + required: true + + - type: textarea + id: proposed-solution + attributes: + label: "Proposed Solution" + description: "Describe the solution you would like to see." + placeholder: "A clear and concise description of what you want to happen." + validations: + required: true + + - type: textarea + id: alternatives-considered + attributes: + label: "Alternatives Considered" + description: "Describe any alternative solutions or features you have considered." + + - type: textarea + id: use-case + attributes: + label: "Use Case" + description: "How will this feature benefit your workflow or organization?" + placeholder: "Example: As a DevOps engineer, I want to..." + validations: + required: true + + - type: dropdown + id: affected-component + attributes: + label: "Affected Component" + description: "Which part of Sortie does this affect?" + options: + - "Backend (Go/API)" + - "Frontend (React/UI)" + - "Kubernetes/Orchestration" + - "Streaming (noVNC/Guacamole)" + - "Documentation/DevX" + - "Other" + + - type: checkboxes + id: terms + attributes: + label: "Code of Conduct" + description: "By submitting this issue, you agree to follow this project Code of Conduct" + options: + - label: "I agree to follow this projects Code of Conduct" + required: true \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..b50734b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,12 @@ +## Summary of changes + + +## Related Issue(s) + +- Closes # + +## Checklist +- [ ] Tests pass (`go test ./...`, `npm test`, or `make test`) +- [ ] Lint passes (`golangci-lint run`, `npm run lint`, or `make fmt`) +- [ ] Documentation updated if behavior or configuration changed