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

boardreadyops

v1.4.4

Published

BoardReadyOps checks KiCad hardware repositories for production readiness before fabrication.

Readme

BoardReadyOps

CI preflight for production-ready PCBs.

BoardReadyOps checks KiCad hardware repositories for production readiness before fabrication. It runs locally as a CLI and in CI as a GitHub Action, producing JSON, SARIF, Markdown, HTML, JUnit, and workflow annotation output.

CI GitHub Marketplace npm OpenSSF Scorecard License

Installation

npm i -g boardreadyops

The current public package is [email protected] on npm. It is verified on Node.js 22 and 24, includes the current CLI bundle, schemas, docs, Action metadata, and matches the public v1.4.3 tag archive. The v1.4.3 GitHub Release also contains the binary asset matrix and SHA256SUMS; Homebrew checksum publication remains tracked in BOARD-63. See release channel verification for the tested artifact list and remaining channel follow-ups.

Runtime Support

BoardReadyOps supports Node.js 22 and 24. Node.js 24 is the recommended Active LTS runtime; Node.js 22 remains supported for Maintenance LTS users. Node.js 26 Current is tracked but not supported in engines.node or CI until it reaches LTS and dependency validation is added.

KiCad CLI compatibility is CI-tested on KiCad 10.0, with 10.0.3 as the latest verified patch. KiCad 9.0 remains the minimum supported line but is upstream EOL and no longer CI-tested. The machine-readable policy and generated support table live in docs/support-matrix.md.

Install Via Script

Linux and macOS release binaries are installed with the checksum-verifying shell installer when the selected GitHub Release includes the matching binary asset and SHA256SUMS:

curl -fsSL https://raw.githubusercontent.com/oaslananka/boardreadyops/main/install.sh | sh

Windows x64 release binaries use the same release asset and checksum flow:

irm https://raw.githubusercontent.com/oaslananka/boardreadyops/main/install.ps1 | iex

The installers download the release asset plus SHA256SUMS before placing boardreadyops on the local command path. Binary asset availability depends on the release; check the latest release for the current asset matrix. A Homebrew formula template for the same binary assets lives at Formula/boardreadyops.rb; it must be filled with release checksums from SHA256SUMS before publishing it through a tap. Treat the installer blocks above as post-BOARD-63 examples until the release asset matrix lists binary files and checksums.

Quick Start

boardreadyops --help
boardreadyops check . --fail-on never

npx boardreadyops --help also works when npm can resolve the package.

GitHub Action

name: BoardReadyOps

on:
  pull_request:
  push:
    branches: [main]

jobs:
  boardreadyops:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
      security-events: write
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - uses: oaslananka/boardreadyops@fe889db0d437b6e0fd632f504b7c43ea2c6ba9c3 # v1.4.3
        with:
          config: boardreadyops.yml
          mode: enforce
          fail-on: high

SARIF upload requires security-events: write. Pull request comments require pull-requests: write.

Use the full container action when a workflow should carry KiCad CLI inside the BoardReadyOps runtime instead of installing KiCad separately:

      - uses: oaslananka/boardreadyops/apps/container@fe889db0d437b6e0fd632f504b7c43ea2c6ba9c3 # v1.4.3
        with:
          config: boardreadyops.yml
          require-kicad: "true"
          mode: enforce

The same image can run as a CLI:

docker run --rm ghcr.io/oaslananka/boardreadyops-full:v1 --help

The v1 and latest container tags resolve to the most recent release image. Check the release channel verification for the current digest and manifest list.

CLI

boardreadyops run --json build/findings.json --sarif build/findings.sarif.json .
boardreadyops check .
boardreadyops check manufacturing.jobset-outputs .
boardreadyops doctor
boardreadyops schema config

The npm package exposes the boardreadyops binary from the committed CLI bundle in dist/cli/index.cjs.

Configuration

Create boardreadyops.yml:

version: 1
mode: warn
projects:
  - path: .
    pinmap: firmware/pins.yml
    bom: bom/board.csv
    variants:
      - name: production
        bom: bom/prod.csv
rules:
  bom.missing-mpn:
    enabled: true
    severity: high
    ignore-refs: ["TP*", "FID*"]
  bom.variant-consistency:
    enabled: true
  manufacturing.jobset-outputs:
    enabled: true
  manufacturing.outputs-present:
    enabled: true
    required: [gerber, drill, position, pdf]
fail-on: high
report:
  sarif: build/boardreadyops.sarif.json
  json: build/boardreadyops.findings.json
  markdown: build/boardreadyops.report.md
  html: build/boardreadyops.report.html

The config schema is committed at schemas/config.schema.json.

Supported Checks

  • KiCad DRC and ERC report normalization.
  • BOM completeness, lifecycle, DNP consistency, variant consistency, and footprint mismatch checks.
  • Pinmap format, collision, unmapped pin, and net label checks.
  • Manufacturing output, drill coverage, fab note, panel sanity, layer stackup, and jobset checks.
  • Design outline and copper balance checks.
  • Release revision, version format, tag, and changelog checks.

Local Development

corepack pnpm install --frozen-lockfile
corepack pnpm run lint
corepack pnpm run typecheck
corepack pnpm run test
corepack pnpm run build
corepack pnpm run verify:dist
corepack pnpm run docs

The repository intentionally versions dist/action/index.cjs and dist/cli/index.cjs so the GitHub Action and npm package can run without a consumer build step.

Links

License

MIT. Third-party notices are generated in NOTICE. The full container image redistributes KiCad under GPL terms and preserves the KiCad license text inside the image.