chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 12:20:01 +08:00
commit e65605f012
669 changed files with 128771 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
pr-title:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
permissions:
pull-requests: read
steps:
- name: Validate PR title
uses: amannn/action-semantic-pull-request@v6.1.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
requireScope: false
types: |
feat
fix
docs
refactor
chore
test
ci
build
perf
revert
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
# Full history so release:validate can read the base-branch (origin/main)
# release-please manifest when checking release-as pins for staleness.
with:
fetch-depth: 0
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Validate release metadata
run: bun run release:validate
# Canonical schema check: runs `claude plugin validate` against the
# marketplace catalog and each plugin directory (blocking, non-strict).
# The CLI must be installed via npm, not bun: `bun x` cannot run this
# package (bun blocks its required postinstall and cannot resolve its
# `claude` bin name), and `bun run` rewrites `npx` in package.json
# scripts to the broken `bun x`, so the script invokes a `claude`
# already on PATH instead.
#
# The validator version is pinned deliberately for reproducible CI: a
# floating @latest would track new upstream validation rules
# automatically but could break CI without any repo change. Bump the
# pin intentionally to adopt new `claude plugin validate` rules (and
# revisit --strict below when doing so).
#
# --strict (warnings-as-errors) should be enabled once this known
# warning is fixed:
# . -- 1 warning:
# "root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead."
- name: Validate plugin schema (claude plugin validate)
run: |
npm install -g @anthropic-ai/claude-code@2.1.175
bun run plugin:validate
- name: Run tests
run: bun test
+55
View File
@@ -0,0 +1,55 @@
name: Release PR
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: write
pull-requests: write
issues: write
concurrency:
group: release-pr-${{ github.ref }}
cancel-in-progress: true
jobs:
release-pr:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Detect release PR merge
id: detect
run: |
MSG=$(git log -1 --format=%s)
if [[ "$MSG" == chore:\ release* ]]; then
echo "is_release_merge=true" >> "$GITHUB_OUTPUT"
else
echo "is_release_merge=false" >> "$GITHUB_OUTPUT"
fi
- name: Validate release metadata scripts
if: steps.detect.outputs.is_release_merge == 'false'
run: bun run release:validate
- name: Maintain release PR
id: release
uses: googleapis/release-please-action@v4.4.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
config-file: .github/release-please-config.json
manifest-file: .github/.release-please-manifest.json
skip-labeling: false
+87
View File
@@ -0,0 +1,87 @@
name: Release Preview
on:
workflow_dispatch:
inputs:
title:
description: "Conventional title to evaluate (defaults to the latest commit title on this ref)"
required: false
type: string
compound_engineering_bump:
description: "compound-engineering bump override"
required: false
type: choice
options: [auto, patch, minor, major]
default: auto
marketplace_bump:
description: "marketplace bump override"
required: false
type: choice
options: [auto, patch, minor, major]
default: auto
cursor_marketplace_bump:
description: "cursor-marketplace bump override"
required: false
type: choice
options: [auto, patch, minor, major]
default: auto
jobs:
preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Determine title and changed files
id: inputs
shell: bash
run: |
TITLE="${{ github.event.inputs.title }}"
if [ -z "$TITLE" ]; then
TITLE="$(git log -1 --pretty=%s)"
fi
FILES="$(git diff --name-only HEAD~1...HEAD | tr '\n' ' ')"
echo "title=$TITLE" >> "$GITHUB_OUTPUT"
echo "files=$FILES" >> "$GITHUB_OUTPUT"
- name: Add preview note
run: |
echo "This preview currently evaluates the selected ref from its latest commit title and changed files." >> "$GITHUB_STEP_SUMMARY"
echo "It is side-effect free, but it does not yet reconstruct the full accumulated open release PR state." >> "$GITHUB_STEP_SUMMARY"
- name: Validate release metadata
run: bun run release:validate
- name: Preview release
shell: bash
run: |
TITLE='${{ steps.inputs.outputs.title }}'
FILES='${{ steps.inputs.outputs.files }}'
args=(--title "$TITLE" --json)
for file in $FILES; do
args+=(--file "$file")
done
args+=(--override "compound-engineering=${{ github.event.inputs.compound_engineering_bump || 'auto' }}")
args+=(--override "marketplace=${{ github.event.inputs.marketplace_bump || 'auto' }}")
args+=(--override "cursor-marketplace=${{ github.event.inputs.cursor_marketplace_bump || 'auto' }}")
bun run scripts/release/preview.ts "${args[@]}" | tee /tmp/release-preview.txt
- name: Publish preview summary
shell: bash
run: cat /tmp/release-preview.txt >> "$GITHUB_STEP_SUMMARY"