name: Check package on: pull_request: push: branches: [main] permissions: contents: read jobs: check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 - uses: actions/setup-python@v5 with: python-version: "3.12" - name: Check package files run: python3 scripts/validate-package.py - name: Check Claude plugin manifest run: | npm install --global @anthropic-ai/claude-code claude plugin validate . - name: Check skill discovery run: npx --yes skills@latest add . --list - name: Check server script starts and serves run: | set -e mkdir -p /tmp/pd-check/report cp assets/template.html /tmp/pd-check/report/index.html echo '{"updated_at": "2026-01-01T00:00:00Z"}' > /tmp/pd-check/report/meta.json python3 scripts/serve.py /tmp/pd-check/report 8934 > /tmp/pd-serve.log 2>&1 & server_pid=$! sleep 1 url=$(grep -o 'http://localhost:[0-9]*/' /tmp/pd-serve.log | head -1) test -n "$url" status=$(curl -s -o /dev/null -w '%{http_code}' "${url}meta.json") test "$status" = "200" kill "$server_pid"