Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Labels based on file paths
# See https://github.com/actions/labeler for configuration options

documentation:
- changed-files:
- any-glob-to-any-file:
- '*.md'
- 'docs/**'

source:
- changed-files:
- any-glob-to-any-file:
- 'src/**'

config:
- changed-files:
- any-glob-to-any-file:
- '*.json'
- '**/*.yml'
- '**/*.yaml'
- '.env*'

workflows:
- changed-files:
- any-glob-to-any-file:
- '.github/**'
23 changes: 23 additions & 0 deletions .github/workflows/auto-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Auto Label

on:
pull_request:
types: [opened, edited, synchronize]

Comment on lines +3 to +6
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using the pull_request event means this workflow will not be able to apply labels on PRs coming from forks (the GITHUB_TOKEN is read-only for forked PRs). If this repo expects external contributions, consider switching to pull_request_target (and avoid checking out untrusted code) so labeling still works for fork PRs.

Copilot uses AI. Check for mistakes.
permissions:
contents: read
pull-requests: write

jobs:
label:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Label PR based on files changed
uses: actions/labeler@v5
with:
sync-labels: true
Comment on lines +18 to +21
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both this workflow and .github/labeler.yml assume the target labels already exist in the repo. If any label is missing, actions/labeler can fail when attempting to apply it. Consider adding a separate label-provisioning workflow (or documented setup step) to ensure required labels exist before enabling auto-labeling.

Copilot uses AI. Check for mistakes.
with:
sync-labels: true
Comment on lines +20 to +23
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The auto-label.yml workflow has a duplicate with: key. This will cause the GitHub Actions workflow to fail at runtime when it's triggered.
Severity: CRITICAL

Suggested Fix

Remove the duplicate with: key from the Label PR based on files changed step in the .github/workflows/auto-label.yml file to ensure the YAML is parsed correctly by the GitHub Actions runner.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: .github/workflows/auto-label.yml#L20-L23

Potential issue: The GitHub Actions workflow file `auto-label.yml` contains a duplicate
`with:` key within the `Label PR based on files changed` step. While this might be valid
in some YAML parsers, the GitHub Actions runner uses a strict parser that will reject
this configuration at runtime. This will cause the `auto-label` workflow to fail every
time it is triggered, such as when a pull request is opened, preventing pull requests
from being automatically labeled. The failure occurs during workflow execution, not
during the merge, so it will not be caught by standard pre-merge checks.

23 changes: 23 additions & 0 deletions .github/workflows/issue-triage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Issue Triage

on:
issues:
types: [opened]

permissions:
issues: write

jobs:
triage:
runs-on: ubuntu-latest
steps:
- name: Add triage label to new issues
uses: actions/github-script@v7
with:
script: |
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
labels: ['needs-triage']
});
Comment on lines +18 to +23
Copy link

Copilot AI Feb 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will fail if the needs-triage label doesn't already exist in the repository (GitHub API returns 422 for unknown labels). Consider creating the label if missing (or documenting label setup) so new repos/environments don't have a broken triage workflow.

Copilot uses AI. Check for mistakes.
30 changes: 30 additions & 0 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: PR Checks

on:
pull_request:
branches: [main]
push:
branches: [main]

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18.x'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build