Skip to content
Closed
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
31 changes: 31 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/Project"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
groups:
minor-and-patch:
update-types:
- "minor"
- "patch"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5
groups:
actions-minor-patch:
update-types:
- "minor"
- "patch"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"
114 changes: 114 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# Automation / CI Status
- name: "ci: failing"
color: "d73a4a"
description: "CI failed on default checks"
- name: "ci: flaky"
color: "fbca04"
description: "Intermittent CI failures observed"
- name: "ci: blocked"
color: "6a737d"
description: "CI cannot run due to missing secrets or env"
- name: "ci: passing"
color: "0e8a16"
description: "All required checks passing"

# Issue Types
- name: "type: bug"
color: "d73a4a"
description: "Defect or regression"
- name: "type: feature"
color: "0e8a16"
description: "New user-facing capability"
- name: "type: enhancement"
color: "1d76db"
description: "Improvement to existing behavior"
- name: "type: chore"
color: "cfd3d7"
description: "Maintenance or refactor"
- name: "type: docs"
color: "0075ca"
description: "Documentation-only change"
- name: "type: question"
color: "d876e3"
description: "Clarification or discussion"
- name: "type: security"
color: "b60205"
description: "Security-related issue"

# PR Scope / Areas
- name: "scope: agent-core"
color: "0e8a9b"
description: "Agent lifecycle, state, prompts, policies"
- name: "scope: orchestration"
color: "0e8a9b"
description: "Planning, routing, scheduling, coordination"
- name: "scope: tools"
color: "0e8a9b"
description: "Tool registry, execution, adapters"
- name: "scope: memory"
color: "0e8a9b"
description: "Memory store, embeddings, retrieval"
- name: "scope: ui"
color: "0e8a9b"
description: "Desktop UI and interaction surfaces"
- name: "scope: api"
color: "0e8a9b"
description: "Internal or external APIs"
- name: "scope: integrations"
color: "0e8a9b"
description: "External services and providers"
- name: "scope: infra"
color: "0e8a9b"
description: "Build, CI, deployment, scripts"
- name: "scope: docs"
color: "0e8a9b"
description: "Docs specific to a PR’s area"
- name: "scope: tests"
color: "0e8a9b"
description: "Test-only changes"

# Priority / Severity
- name: "priority: p0"
color: "b60205"
description: "Must fix immediately"
- name: "priority: p1"
color: "d93f0b"
description: "High priority, near-term"
- name: "priority: p2"
color: "fbca04"
description: "Normal priority"
- name: "priority: p3"
color: "0e8a16"
description: "Low priority"
- name: "severity: s0"
color: "8b0000"
description: "System-wide or data-loss impact"
- name: "severity: s1"
color: "d93f0b"
description: "Major user impact"
- name: "severity: s2"
color: "fbca04"
description: "Minor or localized impact"

# Status
- name: "status: needs-triage"
color: "ededed"
description: "New, unreviewed"
- name: "status: needs-info"
color: "fbca04"
description: "Blocked on reporter details"
- name: "status: accepted"
color: "1d76db"
description: "Approved to work on"
- name: "status: in-progress"
color: "0052cc"
description: "Actively being worked"
- name: "status: blocked"
color: "d93f0b"
description: "External dependency or hard block"
- name: "status: ready-for-review"
color: "5319e7"
description: "Implementation done; needs review"
- name: "status: done"
color: "0e8a16"
description: "Completed and verified"
81 changes: 81 additions & 0 deletions .github/workflows/build-prerelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Build Prerelease

on:
push:
tags:
- "v*-alpha.*"
- "v*-beta.*"

permissions:
contents: write

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Parse tag
id: tag
shell: bash
run: |
TAG="${GITHUB_REF_NAME}"
VERSION="${TAG#v}"
if [[ "$TAG" == *"-alpha."* ]]; then
CHANNEL="alpha"
elif [[ "$TAG" == *"-beta."* ]]; then
CHANNEL="beta"
else
echo "Unsupported tag: $TAG"
exit 1
fi
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
echo "channel=$CHANNEL" >> "$GITHUB_OUTPUT"

- name: Validate tag branch
shell: bash
run: |
git fetch origin dev prev --depth=1
if [ "${{ steps.tag.outputs.channel }}" = "alpha" ]; then
git branch -r --contains "$GITHUB_SHA" | grep -q "origin/dev"
else
git branch -r --contains "$GITHUB_SHA" | grep -q "origin/prev"
fi

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9

- name: Install
run: pnpm -C Project install

- name: Build and publish
shell: bash
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_IDENTITY_AUTO_DISCOVERY: "false"
run: |
VERSION="${{ steps.tag.outputs.version }}"
if [ "${{ matrix.os }}" = "windows-latest" ]; then
pnpm -C Project build:win -- --publish always --config.extraMetadata.version="$VERSION"
elif [ "${{ matrix.os }}" = "macos-latest" ]; then
pnpm -C Project build:mac -- --publish always --config.extraMetadata.version="$VERSION"
else
pnpm -C Project build:linux -- --publish always --config.extraMetadata.version="$VERSION"
fi
76 changes: 76 additions & 0 deletions .github/workflows/build-stable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Build Stable Release

on:
push:
branches:
- main
paths:
- "Project/package.json"
- "Project/CHANGELOG.md"

permissions:
contents: write

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Guard release
id: guard
shell: bash
run: |
changed=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }})
echo "$changed"
if echo "$changed" | grep -q "^Project/package.json$" && echo "$changed" | grep -q "^Project/CHANGELOG.md$"; then
echo "should_release=true" >> "$GITHUB_OUTPUT"
else
echo "should_release=false" >> "$GITHUB_OUTPUT"
fi

- name: Skip non-release commits
if: steps.guard.outputs.should_release != 'true'
shell: bash
run: echo "No release changes detected. Skipping."

- name: Setup Node
if: steps.guard.outputs.should_release == 'true'
uses: actions/setup-node@v4
with:
node-version: 20

- name: Setup pnpm
if: steps.guard.outputs.should_release == 'true'
uses: pnpm/action-setup@v4
with:
version: 9

- name: Install
if: steps.guard.outputs.should_release == 'true'
run: pnpm -C Project install

- name: Build and publish
if: steps.guard.outputs.should_release == 'true'
shell: bash
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CSC_IDENTITY_AUTO_DISCOVERY: "false"
run: |
if [ "${{ matrix.os }}" = "windows-latest" ]; then
pnpm -C Project build:win -- --publish always
elif [ "${{ matrix.os }}" = "macos-latest" ]; then
pnpm -C Project build:mac -- --publish always
else
pnpm -C Project build:linux -- --publish always
fi
37 changes: 37 additions & 0 deletions .github/workflows/changeset-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Changeset Check

on:
pull_request:
branches:
- prev
- main
paths:
- "Project/**"

permissions:
contents: read

jobs:
changeset:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9

- name: Install
run: pnpm -C Project install

- name: Verify changeset
run: pnpm -C Project changeset status --since=origin/${{ github.base_ref }}
Loading