diff --git a/.github/ISSUE_TEMPLATE/01_BUG_REPORT.md b/.github/ISSUE_TEMPLATE/01_BUG_REPORT.md new file mode 100644 index 0000000..09d12a2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01_BUG_REPORT.md @@ -0,0 +1,37 @@ +--- +name: Bug Report +about: Create a report to help Artist Chatbot to improve +title: 'bug: ' +labels: 'bug' +assignees: '' +--- + +# Bug Report + +**Artist Chatbot version:** + + + +**Current behavior:** + + + +**Expected behavior:** + + + +**Steps to reproduce:** + + + +**Related code:** + + + +``` +insert short code snippets here +``` + +**Other information:** + + diff --git a/.github/ISSUE_TEMPLATE/02_FEATURE_REQUEST.md b/.github/ISSUE_TEMPLATE/02_FEATURE_REQUEST.md new file mode 100644 index 0000000..23516cf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02_FEATURE_REQUEST.md @@ -0,0 +1,35 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: 'feat: ' +labels: 'enhancement' +assignees: '' +--- + +# Feature Request + +**Describe the Feature Request** + + + +**Describe Preferred Solution** + + + +**Describe Alternatives** + + + +**Related Code** + + + +**Additional Context** + + + +**If the feature request is approved, would you be willing to submit a PR?** +_(Help can be provided if you need assistance submitting a PR)_ + +- [ ] Yes +- [ ] No diff --git a/.github/ISSUE_TEMPLATE/03_CODEBASE_IMPROVEMENT.md b/.github/ISSUE_TEMPLATE/03_CODEBASE_IMPROVEMENT.md new file mode 100644 index 0000000..777076d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03_CODEBASE_IMPROVEMENT.md @@ -0,0 +1,7 @@ +--- +name: Codebase improvement +about: Provide your feedback for the existing codebase. Suggest a better solution for algorithms, development tools, etc. +title: 'dev: ' +labels: 'enhancement' +assignees: '' +--- diff --git a/.github/ISSUE_TEMPLATE/04_SUPPORT_QUESTION.md b/.github/ISSUE_TEMPLATE/04_SUPPORT_QUESTION.md new file mode 100644 index 0000000..f58aa08 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/04_SUPPORT_QUESTION.md @@ -0,0 +1,9 @@ +--- +name: Support Question +about: Question on how to use this project +title: 'support: ' +labels: 'question' +assignees: '' +--- + +# Support Question diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..bd9dfe4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,2 @@ +--- +blank_issues_enabled: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..5d0b0b3 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,40 @@ + + +## Pull Request type + + + +Please check the type of change your PR introduces: + +- [ ] Bugfix +- [ ] Feature +- [ ] Code style update (formatting, renaming) +- [ ] Refactoring (no functional changes, no API changes) +- [ ] Build-related changes +- [ ] Documentation content changes +- [ ] Other (please describe): + +## What is the current behavior? + + + +Issue Number: N/A + +## What is the new behavior? + + + +- +- +- + +## Does this introduce a breaking change? + +- [ ] Yes +- [ ] No + + + +## Other information + + diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000..d2708bb --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,78 @@ +--- +- name: 'breaking-change' + color: ee0701 + description: 'A change that changes the API or breaks backward compatibility for users.' +- name: 'bugfix' + color: ee0701 + description: 'Inconsistencies or issues which will cause a problem for users or implementors.' +- name: 'documentation' + color: 0052cc + description: 'Solely about the documentation of the project.' +- name: 'enhancement' + color: 1d76db + description: 'Enhancement of the code, not introducing new features.' +- name: 'refactor' + color: 1d76db + description: 'Updating the code with simpler, easier to understand or more efficient syntax or methods, but not introducing new features.' +- name: 'performance' + color: 1d76db + description: 'Improving performance of the project, not introducing new features.' +- name: 'new-feature' + color: 0e8a16 + description: 'New features or options.' +- name: 'maintenance' + color: 2af79e + description: 'Generic maintenance tasks.' +- name: 'ci' + color: 1d76db + description: 'Work that improves the continuous integration.' +- name: 'dependencies' + color: 1d76db + description: 'Change in project dependencies.' + +- name: 'in-progress' + color: fbca04 + description: 'Issue is currently being worked on by a developer.' +- name: 'stale' + color: fef2c0 + description: 'No activity for quite some time.' +- name: 'no-stale' + color: fef2c0 + description: 'This is exempt from the stale bot.' + +- name: 'security' + color: ee0701 + description: 'Addressing a vulnerability or security risk in this project.' +- name: 'incomplete' + color: fef2c0 + description: 'Missing information.' +- name: 'invalid' + color: fef2c0 + description: "This is off-topic, spam, or otherwise doesn't apply to this project." + +- name: 'beginner-friendly' + color: 0e8a16 + description: 'Good first issue for people wanting to contribute to this project.' +- name: 'help-wanted' + color: 0e8a16 + description: 'We need some extra helping hands or expertise in order to resolve this!' + +- name: 'priority-critical' + color: ee0701 + description: 'Must be addressed as soon as possible.' +- name: 'priority-high' + color: b60205 + description: 'After critical issues are fixed, these should be dealt with before any further issues.' +- name: 'priority-medium' + color: 0e8a16 + description: 'This issue may be useful, and needs some attention.' +- name: 'priority-low' + color: e4ea8a + description: 'Nice addition, maybe... someday...' + +- name: 'major' + color: b60205 + description: 'This PR causes a major bump in the version number.' +- name: 'minor' + color: 0e8a16 + description: 'This PR causes a minor bump in the version number.' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..ae4d0a4 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Prepare pnpm + uses: pnpm/action-setup@v2 + + - name: Prepare Node.js + uses: actions/setup-node@v3.8.1 + with: + node-version-file: .node-version + cache: pnpm + + - name: Install deps + run: pnpm install + + - name: ESLint + run: pnpm run eslint + + - name: Prettier code style check + run: pnpm prettier . --check + + - name: Build + run: pnpm run build diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..dc5d1d3 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,20 @@ +--- +name: CodeQL + +on: + push: + pull_request: + schedule: + - cron: '30 1 * * 0' + +jobs: + codeql: + name: ๐Ÿญ Scanning + runs-on: ubuntu-latest + steps: + - name: โคต๏ธ Check out code from GitHub + uses: actions/checkout@v4 + - name: ๐Ÿ— Initialize CodeQL + uses: github/codeql-action/init@v1 + - name: ๐Ÿš€ Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml new file mode 100644 index 0000000..98cb278 --- /dev/null +++ b/.github/workflows/labels.yml @@ -0,0 +1,21 @@ +--- +name: Sync labels + +on: + push: + branches: + - main + paths: + - .github/labels.yml + +jobs: + labels: + name: โ™ป๏ธ Sync labels + runs-on: ubuntu-latest + steps: + - name: โคต๏ธ Check out code from GitHub + uses: actions/checkout@v4 + - name: ๐Ÿš€ Run Label Syncer + uses: micnncim/action-label-syncer@v1.2.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml new file mode 100644 index 0000000..4cb4e5c --- /dev/null +++ b/.github/workflows/lock.yml @@ -0,0 +1,32 @@ +--- +name: Lock + +on: + schedule: + - cron: '0 9 * * *' + workflow_dispatch: + +jobs: + lock: + name: ๐Ÿ”’ Lock closed issues and PRs + runs-on: ubuntu-latest + steps: + - uses: dessant/lock-threads@v2.0.3 + with: + github-token: ${{ github.token }} + issue-lock-inactive-days: '30' + issue-lock-reason: '' + issue-comment: > + Issue closed and locked due to lack of activity. + + If you encounter this same issue, please open a new issue and refer + to this closed one. + pr-lock-inactive-days: '1' + pr-lock-reason: '' + pr-comment: > + Pull Request closed and locked due to lack of activity. + + If you'd like to build on this closed PR, you can clone it using + this method: https://stackoverflow.com/a/14969986 + + Then open a new PR, referencing this closed PR in your message. diff --git a/.github/workflows/pr-labels.yml b/.github/workflows/pr-labels.yml new file mode 100644 index 0000000..dac53a0 --- /dev/null +++ b/.github/workflows/pr-labels.yml @@ -0,0 +1,20 @@ +--- +name: PR Labels + +on: + pull_request: + types: [opened, labeled, unlabeled, synchronize] + +jobs: + pr_labels: + name: ๐Ÿญ Verify + runs-on: ubuntu-latest + steps: + - name: ๐Ÿท Verify PR has a valid label + uses: jesusvasquez333/verify-pr-label-action@v1.4.0 + with: + github-token: '${{ secrets.GITHUB_TOKEN }}' + valid-labels: >- + breaking-change, bugfix, documentation, enhancement, + refactor, performance, new-feature, maintenance, ci, dependencies + disable-reviews: true diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..0ef4ab7 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,44 @@ +--- +name: Stale + +on: + schedule: + - cron: '0 8 * * *' + workflow_dispatch: + +jobs: + stale: + name: ๐Ÿงน Clean up stale issues and PRs + runs-on: ubuntu-latest + steps: + - name: ๐Ÿš€ Run stale + uses: actions/stale@v8 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + days-before-stale: 30 + days-before-close: 7 + remove-stale-when-updated: true + stale-issue-label: 'stale' + exempt-issue-labels: 'no-stale,help-wanted' + stale-issue-message: > + There hasn't been any activity on this issue recently, and in order + to prioritize active issues, it will be marked as stale. + + Please make sure to update to the latest version and + check if that solves the issue. Let us know if that works for you + by leaving a ๐Ÿ‘ + + Because this issue is marked as stale, it will be closed and locked + in 7 days if no further activity occurs. + + Thank you for your contributions! + stale-pr-label: 'stale' + exempt-pr-labels: 'no-stale' + stale-pr-message: > + There hasn't been any activity on this pull request recently, and in + order to prioritize active work, it has been marked as stale. + + This PR will be closed and locked in 7 days if no further activity + occurs. + + Thank you for your contributions!