name: PR Auto Responder on: issues: types: [opened, reopened, labeled, unlabeled] pull_request_target: types: [opened, labeled, unlabeled] permissions: {} jobs: contributor-tier-issues: if: >- (github.event_name == 'issues' && (github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'labeled' || github.event.action == 'unlabeled')) || (github.event_name == 'pull_request_target' && (github.event.action == 'labeled' || github.event.action == 'unlabeled')) runs-on: blacksmith-2vcpu-ubuntu-2404 permissions: contents: read issues: write pull-requests: write steps: - name: Checkout repository uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - name: Apply contributor tier label for issue author uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 with: script: | const script = require('./.github/workflows/scripts/pr_auto_response_contributor_tier.js'); await script({ github, context, core }); first-interaction: if: github.event.action == 'opened' runs-on: blacksmith-2vcpu-ubuntu-2404 permissions: issues: write pull-requests: write steps: - name: Greet first-time contributors uses: actions/first-interaction@a1db7729b356323c7988c20ed6f0d33fe31297be # v1 with: repo_token: ${{ secrets.GITHUB_TOKEN }} issue_message: | Thanks for opening this issue. Before maintainers triage it, please confirm: - Repro steps are complete and run on latest `main` - Environment details are included (OS, Rust version, ZeroClaw version) - Sensitive values are redacted This helps us keep issue throughput high and response latency low. pr_message: | Thanks for contributing to ZeroClaw. For faster review, please ensure: - PR template sections are fully completed - `cargo fmt --all -- --check`, `cargo clippy --all-targets -- -D warnings`, and `cargo test` are included - If automation/agents were used heavily, add brief workflow notes - Scope is focused (prefer one concern per PR) See `CONTRIBUTING.md` and `docs/pr-workflow.md` for full collaboration rules. labeled-routes: if: github.event.action == 'labeled' runs-on: blacksmith-2vcpu-ubuntu-2404 permissions: contents: read issues: write pull-requests: write steps: - name: Checkout repository uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - name: Handle label-driven responses uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 with: script: | const script = require('./.github/workflows/scripts/pr_auto_response_labeled_routes.js'); await script({ github, context, core });