name: Reusable Validation Workflow on: workflow_call: inputs: node-version: description: 'Node.js version' required: false type: string default: '20.x' jobs: validate: name: Validate Components runs-on: ubuntu-latest timeout-minutes: 5 steps: - name: Checkout uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: persist-credentials: false - name: Setup Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: ${{ inputs.node-version }} - name: Install validation dependencies run: npm ci --ignore-scripts - name: Validate agents run: node scripts/ci/validate-agents.js - name: Validate hooks run: node scripts/ci/validate-hooks.js - name: Validate commands run: node scripts/ci/validate-commands.js - name: Validate skills run: node scripts/ci/validate-skills.js - name: Validate install manifests run: node scripts/ci/validate-install-manifests.js - name: Validate workflow security run: node scripts/ci/validate-workflow-security.js - name: Validate rules run: node scripts/ci/validate-rules.js - name: Check unicode safety run: node scripts/ci/check-unicode-safety.js - name: Validate no personal paths run: node scripts/ci/validate-no-personal-paths.js