diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..564b8a9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,51 @@ +name: Bug Report +description: File a bug report to help us improve +title: "[Bug]: " +labels: ["bug", "needs triage"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: textarea + id: description + attributes: + label: Bug Description + description: A clear and concise description of what the bug is. + placeholder: Bug description + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Steps to Reproduce + description: How can we reproduce the issue? + placeholder: | + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What did you expect to happen? + validations: + required: true + - type: textarea + id: actual + attributes: + label: Actual Behavior + description: What actually happened? + validations: + required: true + - type: input + id: environment + attributes: + label: Environment + description: OS, Node version, CLI version + placeholder: e.g., macOS 14.4, Node v20.11.1, kdm v1.0.0 + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..3ba13e0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..9cd57b4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,35 @@ +name: Feature Request +description: Suggest an idea for this project +title: "[Feature]: " +labels: ["enhancement", "needs triage"] +body: + - type: textarea + id: problem + attributes: + label: Problem Description + description: Is your feature request related to a problem? Please describe. + validations: + required: true + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: A clear and concise description of what you want to happen. + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: A clear and concise description of any alternative solutions or features you've considered. + - type: textarea + id: context + attributes: + label: Additional Context + description: Add any other context or screenshots about the feature request here. + - type: checkboxes + id: work + attributes: + label: Would you like to work on this feature? + options: + - label: Yes, I would like to work on this feature! diff --git a/.github/issue-labeler.yml b/.github/issue-labeler.yml new file mode 100644 index 0000000..084ac8b --- /dev/null +++ b/.github/issue-labeler.yml @@ -0,0 +1,24 @@ +bug: + - "bug" + - "error" + - "broken" + - "fix" + - "crash" + - "not working" + +enhancement: + - "feature" + - "request" + - "add" + - "new" + - "improve" + - "enhancement" + +good first issue: + - "first timer" + - "beginner" + - "easy" + - "starter" + +needs triage: + - '*' diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..272be85 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,40 @@ +documentation: + - changed-files: + - any-glob-to-any-file: + - 'docs/**/*' + - '**/*.md' + +frontend: + - changed-files: + - any-glob-to-any-file: + - 'src/**/*' + - 'public/**/*' + +ci/cd: + - changed-files: + - any-glob-to-any-file: + - '.github/workflows/**/*' + +tests: + - changed-files: + - any-glob-to-any-file: ['src/__tests__/**'] + +docker: + - changed-files: + - any-glob-to-any-file: ['src/docker/**'] + +kubernetes: + - changed-files: + - any-glob-to-any-file: ['src/kubernetes/**', 'src/minikube/**'] + +ui: + - changed-files: + - any-glob-to-any-file: ['src/ui/**'] + +commands: + - changed-files: + - any-glob-to-any-file: ['src/commands/**'] + +build: + - changed-files: + - any-glob-to-any-file: ['package.json', 'package-lock.json', 'tsconfig.json'] diff --git a/.github/workflows/issue-labeler.yml b/.github/workflows/issue-labeler.yml new file mode 100644 index 0000000..da6a996 --- /dev/null +++ b/.github/workflows/issue-labeler.yml @@ -0,0 +1,17 @@ +name: "Issue Labeler" +on: + issues: + types: [opened] + +permissions: + issues: write + contents: read + +jobs: + label: + runs-on: ubuntu-latest + steps: + - uses: github/issue-labeler@c1b0f9f52a63158c4adc09425e858e87b32e9685 # v3.4 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" + configuration-path: ".github/issue-labeler.yml" diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 0000000..735a7da --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,18 @@ +name: "Pull Request Labeler" +on: + # Safe to use pull_request_target: no code checkout, API-only labeler, minimal permissions + pull_request_target: + types: [opened, synchronize, reopened] + +permissions: + contents: read + pull-requests: write + +jobs: + label: + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" + configuration-path: ".github/labeler.yml"