diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index fb93949..53e9b84 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -5,7 +5,7 @@ on: paths-ignore: - 'docs/**' - 'media/**' - - '../../README.md' + - 'README.md' concurrency: group: ${{ github.workflow }}-${{ github.event.number || github.ref }} @@ -47,4 +47,4 @@ jobs: - name: Build Packages run: pnpm run build:all - name: Publish Previews - run: pnpx pkg-pr-new publish --pnpm './packages/*' --template './examples/*/*' + run: pnpx pkg-pr-new publish --pnpm './packages/*' diff --git a/.github/workflows/process-feedback.yml b/.github/workflows/process-feedback.yml deleted file mode 100644 index b7477c7..0000000 --- a/.github/workflows/process-feedback.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: Process Feedback - -on: - discussion: - types: [created] - -jobs: - label: - name: Auto-label feedback - if: github.event.discussion.category.name == 'Feedback' - runs-on: ubuntu-latest - permissions: - discussions: write - steps: - - name: Label by library - uses: actions/github-script@v7 - with: - script: | - const body = context.payload.discussion.body || '' - const libraryPatterns = [ - { pattern: /\brouter\//, label: 'feedback:router' }, - { pattern: /\bstart\//, label: 'feedback:start' }, - { pattern: /\bquery\//, label: 'feedback:query' }, - { pattern: /\btable\//, label: 'feedback:table' }, - { pattern: /\bform\//, label: 'feedback:form' }, - { pattern: /\bvirtual\//, label: 'feedback:virtual' }, - { pattern: /\bstore\//, label: 'feedback:store' }, - { pattern: /\bdb\//, label: 'feedback:db' }, - { pattern: /\bcompositions\//, label: 'feedback:compositions' }, - { pattern: /\bdomain-discovery\b/, label: 'feedback:domain-discovery' }, - { pattern: /\btree-generator\b/, label: 'feedback:tree-generator' }, - { pattern: /\bgenerate-skill\b/, label: 'feedback:generate-skill' }, - { pattern: /\bstaleness-check\b/, label: 'feedback:staleness-check' }, - { pattern: /Meta-Skill Feedback/, label: 'feedback:meta' }, - ] - - const labels = libraryPatterns - .filter(({ pattern }) => pattern.test(body)) - .map(({ label }) => label) - - if (labels.length === 0) return - - // Ensure labels exist - for (const label of labels) { - try { - await github.rest.issues.getLabel({ - owner: context.repo.owner, - repo: context.repo.repo, - name: label, - }) - } catch { - await github.rest.issues.createLabel({ - owner: context.repo.owner, - repo: context.repo.repo, - name: label, - color: '7057ff', - }) - } - } - - // Discussions use the GraphQL API for labels - const { data: discussion } = await github.graphql(` - query($owner: String!, $repo: String!, $number: Int!) { - repository(owner: $owner, name: $repo) { - discussion(number: $number) { - id - } - } - } - `, { - owner: context.repo.owner, - repo: context.repo.repo, - number: context.payload.discussion.number, - }) - - core.info(`Matched labels: ${labels.join(', ')}`) diff --git a/.github/workflows/skill-staleness-check.yml b/.github/workflows/skill-staleness-check.yml deleted file mode 100644 index 3955c5e..0000000 --- a/.github/workflows/skill-staleness-check.yml +++ /dev/null @@ -1,86 +0,0 @@ -name: Skill Staleness Check - -# Triggered by repository_dispatch from upstream TanStack package repos. -# Each package repo has a notify-intent.yml workflow that fires this -# event on merge to main with the list of changed files. - -on: - repository_dispatch: - types: [skill-check] - - # Manual trigger for testing or ad-hoc checks - workflow_dispatch: - inputs: - package: - description: 'Package name (e.g. @tanstack/query)' - required: true - type: string - library: - description: 'Library directory in skills/ (e.g. query, db, router)' - required: true - type: string - -jobs: - check-staleness: - name: Check skill staleness - runs-on: ubuntu-latest - permissions: - contents: write - pull-requests: write - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 20 - - - name: Install dependencies - run: npm install yaml - - - name: Build prompt from payload - id: prompt - run: | - if [ "${{ github.event_name }}" = "repository_dispatch" ]; then - PACKAGE="${{ github.event.client_payload.package }}" - SHA="${{ github.event.client_payload.sha }}" - CHANGED_FILES='${{ toJson(github.event.client_payload.changed_files) }}' - else - PACKAGE="${{ inputs.package }}" - SHA="manual" - CHANGED_FILES="[]" - fi - - LIBRARY="${{ inputs.library || '' }}" - if [ -z "$LIBRARY" ]; then - # Derive library from package name: @tanstack/query -> query - LIBRARY=$(echo "$PACKAGE" | sed 's/@tanstack\///' | sed 's/react-//' | sed 's/vue-//' | sed 's/solid-//' | sed 's/svelte-//' | sed 's/angular-//') - fi - - cat < /tmp/oz-prompt.txt - Read the meta skill at meta/skill-staleness-check/SKILL.md and follow - its instructions. - - Webhook payload: - - package: ${PACKAGE} - - sha: ${SHA} - - changed_files: ${CHANGED_FILES} - - library: ${LIBRARY} - - Run the staleness check for the ${LIBRARY} library. Use - scripts/sync-skills.mjs for detection, then evaluate whether any - skills need updating. If they do, update them and open a PR. - If nothing needs updating, exit silently. - EOF - - echo "library=$LIBRARY" >> "$GITHUB_OUTPUT" - - - name: Run Oz agent - uses: warpdotdev/oz-agent-action@main - id: oz - with: - prompt: | - $(cat /tmp/oz-prompt.txt) - warp_api_key: ${{ secrets.WARP_API_KEY }} - profile: ${{ vars.WARP_AGENT_PROFILE || '' }} diff --git a/.github/workflows/validate-skills.yml b/.github/workflows/validate-skills.yml deleted file mode 100644 index 6b8336d..0000000 --- a/.github/workflows/validate-skills.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Validate Skills - -on: - pull_request: - paths: - - 'packages/intent/skills/**' - - 'packages/intent/package_map.yaml' - - 'scripts/validate-skills.ts' - -jobs: - validate: - name: Validate skill files - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 20 - - - name: Install dependencies - run: npm install yaml - - - name: Run validation - run: npx tsx scripts/validate-skills.ts