npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

required-checks-auditor

v1.0.6

Published

Audit GitHub PR workflows and fail when their checks are missing from branch rules.

Readme

Required Checks Auditor

CI npm version npm downloads

Catch GitHub pull-request checks that run but are not required by your branch rules.

Installation

Run the following command from the repository you want to protect. It finds your PR workflows, asks which ones to watch, then writes .github/workflows/required-checks-auditor.yml.

npx -y required-checks-auditor@latest
name: Audit Required PR Checks

on:
  pull_request:
    branches: [main]
    types: [opened, ready_for_review, reopened, synchronize]
  branch_protection_rule:
    types: [created, edited, deleted]

permissions:
  contents: read
  checks: read
  statuses: read

jobs:
  required-checks-auditor:
    name: Required checks auditor
    runs-on: ubuntu-latest
    steps:
      - id: audit
        uses: biw/[email protected]
        with:
          target-branch: main
          wait-seconds: 10
          excluded-workflow-paths: |
            .github/workflows/release-build.yml
            .github/workflows/release-publish.yml
      - name: Upload starter ruleset
        if: ${{ failure() && steps.audit.outputs['ruleset-artifact-path'] != '' }}
        uses: actions/upload-artifact@v4
        with:
          name: required-checks-ruleset
          path: ${{ steps.audit.outputs['ruleset-artifact-path'] }}
          if-no-files-found: error

Usage

After the workflow has run once, add Required checks auditor to the required status checks in each branch rule or ruleset that protects the target branch. The first run fails until you do—this is expected, and proves that the auditor itself cannot be left optional.

Keep the three permissions from the example so the auditor can read workflows, external checks, and the effective branch rules.

Options

  • wait-seconds: seconds to wait before auditing; defaults to 10. Set 0 to run immediately.
  • target-branch: protected branch whose active rules are audited. It defaults to the pull request's base branch; set it explicitly when the workflow can run on stacked pull requests.
  • excluded-workflow-paths: workflow files to leave out of automatic discovery when you intentionally do not want their checks audited.
  • ignored-checks: specific check names to leave out intentionally.

Generated workflow

  • Setup pins target-branch to the branch you choose, so stacked pull requests audit the protected branch rather than an intermediate branch.
  • Rerunning setup preserves existing excluded-workflow-paths and ignored-checks values.

What the audit discovers

  • GitHub Actions checks in eligible workflows, plus external checks observed on the pull request.
  • Job names that interpolate literal strategy.matrix values are expanded into their concrete check names. Expressions that depend on any other context still need a static job name or a workflow exclusion.
  • Workflows that can run only after a pull request closes or through manual dispatch are ignored.

If no active ruleset applies to the target branch and checks are missing, the failed run includes a required-checks-ruleset artifact. Download it and import it in Settings → Rules → Rulesets. If a ruleset already applies, the action only reports the missing checks so you can update that existing policy.

License

MIT