Boardreadyops について
BoardReadyOpsは、KiCadのPCBチーム向けのローカル優先の検証・リリースワークフローです。CLIとGitHub Actionで設計チェック、製造ファイルの処理、監査可能なリリース証跡を扱い、設定時には署名も選べます。
主な機能
- 01KiCad DRC・ERCレポートのチェック
- 02BOM、pinmap、製造出力の検証
- 03kicad-cliによる製造ファイル生成
- 04検出事項とチェックサムのリリース証跡化
- 05機械可読プランとCIレポート形式
活用シーン
- 01検証問題があるPCBリリースのブロック
- 02製造リリースファイルの生成と準備
- 03プルリクエストでのハードウェア変更レビュー
- 04コーディングエージェントへの構造化された修正手順の提供
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/oaslananka/boardreadyops-full:v1ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/oaslananka/boardreadyops-full:v1stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
BoardReadyOps
KiCad のコミットと製造リリースをつなぐ信頼レイヤーです。
KiCad PCB チーム向けの、ローカルファーストでポリシーをコードとして管理するハードウェアレビューゲートです。すべての PR で何が変更されたか、製造においてなぜ重要なのかを説明し、監査可能なリリースエビデンスをパッケージ化します。署名キーが設定されている場合、マニフェストに署名して検証できます。
リポジトリの成熟度 · OpenSSF エビデンス · ガバナンス · ロードマップ · サポート
BoardReadyOps は KiCad プロジェクトをチェックし、製造用アーティファクトを生成できるほか、検出結果とチェックサムをリリースエビデンスバンドルにまとめます。署名は任意です。チェックサムと自己申告されたソースフィンガープリントだけでは、エクスポートされた Gerber/Excellon ファイルがレビュー済みのコミットから生成されたことを独立して証明することはできません。ソースからエクスポートへの来歴に関する契約とissue #771を参照してください。CLI と GitHub Action は、JSON、SARIF、Markdown、HTML、JUnit、ワークフローアノテーションの出力に対応しています。
- KiCad DRC/ERC を置き換えるものではありません:ネイティブの
kicad-cliDRC/ERC チェックに加え、BOM のライフサイクル、フットプリントの一貫性、ピンマップ契約、ベンダーの事前チェックを行います。 - KiBot を置き換える必要はありません:単独でも、KiBot/アーティファクト自動化ツールと併用しても動作し、ガバナンス、PR のハードウェア差分、任意で署名されたエビデンスマニフェスト、引き継ぎパッケージを追加します。
- ローカルファーストのソース処理:CLI コマンドと対象リポジトリ内の GitHub Actions ワークフローは、KiCad ソースをユーザー自身の環境で処理します。ホスト型機能では、実行メタデータ、正規化された検出結果、リンクが保持されることがあります。有効にする前に、文書化されたデータ処理と実行の境界を確認してください。
Generate → Validate → Decide → Package → Optional Attestation → Review → Handoff
インストール
npm i -g boardreadyops
リポジトリで準備されたバージョン: [email protected]。これはこのソースリビジョンに含まれるパッケージのバージョンであり、公開済みであることを示すものではありません。
最新の一般公開バージョンは、npmと
GitHub Releasesで確認してください。インストール前に、選択したリリースのバイナリ、
SHA256SUMS、SBOM、ランタイムの互換性を検証してください。過去に検証されたスナップショットと未対応のフォローアップについては、
リリースチャネルの検証
を参照してください。
ランタイムのサポート
BoardReadyOps は Node.js 24 LTS のみをサポートします。それ以前の Node.js メジャーバージョンは、サポートも CI テストも終了しています。Node.js 26 Current は追跡していますが、LTS になるまでは engines.node や CI ではサポートされず、依存関係の検証も追加されません。
KiCad CLI の互換性は KiCad 10.0 で CI テストされており、検証済みの最新パッチは 10.0.6 です。KiCad 9.0 は引き続きサポート対象の最低ラインですが、上流で EOL となっており、CI テストは終了しています。機械可読なポリシーと生成されたサポート表は、docs/support-matrix.md にあります。
スクリプトでインストールする
Linux および macOS のリリースバイナリは、選択した GitHub リリースに対応するバイナリアセットと SHA256SUMS が含まれている場合、チェックサムを検証するシェルインストーラーでインストールできます。
curl -fsSL https://raw.githubusercontent.com/oaslananka/boardreadyops/main/install.sh | sh
Windows x64 のリリースバイナリも、同じリリースアセットとチェックサムの手順でインストールできます。
irm https://raw.githubusercontent.com/oaslananka/boardreadyops/main/install.ps1 | iex
インストーラーはリリースアセットと SHA256SUMS をダウンロードしてから、boardreadyops をローカルのコマンドパスに配置します。バイナリアセットの有無はリリースによって異なります。現在のアセット一覧は最新リリースを確認してください。同じバイナリアセット用の Homebrew フォーミュラテンプレートは Formula/boardreadyops.rb にあり、公開済みの macOS および Linux のチェックサムが SHA256SUMS から反映されます。インストーラーは、完全なバイナリ一覧、SHA256SUMS、SBOM を含む最新リリースで検証済みです。Tap の公開はメンテナーによる今後の作業として残っています。
位置付け
BoardReadyOps には、次の 2 つの利用モードがあります。
エンドツーエンドのパイプライン — boardreadyops generate を使用して kicad-cli 経由で Gerber、ドリルファイル、BOM、CPL/配置ファイル、PDF を生成し、その後 boardreadyops release prepare を使用して検証とエビデンスのパッケージ化を行い、署名付きのリリース判定を出力します。
検証のみのゲート — KiBot などのジェネレーターを使用して製造用出力を生成し、その後 BoardReadyOps を使用して、出力が存在すること、KiCad プロジェクトと一致すること、ベンダーやプロファイルの要件を満たすこと、再現可能なリリース判定に利用できることを検証します。
パイプラインを分割する方法についてはリリース準備状況と KiBot の統合を、v2 の機能についてはロードマップを参照してください。
クイックスタート
# Validate existing manufacturing outputs
boardreadyops check .
boardreadyops plan . --format json > build/agent-plan.json
# Generate artifacts and prepare a full release
boardreadyops generate . --profile jlcpcb
boardreadyops release prepare . --profile jlcpcb --output build/release
# Verify a release bundle and create a vendor handoff package
boardreadyops release verify build/release
boardreadyops handoff create build/release --profile jlcpcb
# Optional: export actual Gerber/Excellon bytes as an unsigned, locally verified ZIP
# Requires KiCad CLI 10, exactly one PCB project and a clean checkout; ignore build/ in Git
boardreadyops release archive . --reviewed-source-sha "$(git rev-parse HEAD)"
release archive コマンドは、ローカルのソースと出力のバイト列を検証し、作成された ZIP のチェックサムを報告します。信頼できるワークフローアテステーション、暗号署名、ベンダーの承認、クラウド配信リンクは生成しません。
npm がパッケージを解決できる場合は、npx boardreadyops --help も使用できます。
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@9bc8a075d885ad1182e2ad4fcd4c9160f8160c94 # v1.31.2
with:
config: boardreadyops.yml
mode: enforce
fail-on: high
この例では、再現性を確保するため、レビュー済みの v1.31.2 リリースコミットを指定しています。
浮動バージョンの v1 エイリアスは、マイナー/パッチ更新を自動で適用する場合に便利ですが、安定版リリースの公開に合わせて参照先が変わります。
SARIF のアップロードには security-events: write が必要です。プルリクエストへのコメントには pull-requests: write が必要です。
KiCad を別途インストールするのではなく、ワークフローで BoardReadyOps のランタイムに KiCad CLI を含めるには、完全版のコンテナーアクションを使用してください。
- uses: oaslananka/boardreadyops/apps/container@9bc8a075d885ad1182e2ad4fcd4c9160f8160c94 # v1.31.2
with:
config: boardreadyops.yml
require-kicad: "true"
mode: enforce
同じイメージを CLI として実行することもできます。
docker run --rm ghcr.io/oaslananka/boardreadyops-full:v1 --help
v1 と latest のコンテナータグは、最新のリリースイメージを参照します。現在のダイジェストとマニフェスト一覧については、リリースチャネルの検証を確認してください。
再現可能なデモ
リポジトリに接続する前に、チェックイン済みのゴールデンデモのソースを確認してください。 問題のあるボードには 5 件の指摘事項があり、リリースがブロックされます。修正済みのボードでは、それらが解消されています。
boardreadyops run examples/golden-demo/broken
boardreadyops run examples/golden-demo/fixed
これらは再現可能なソースフィクスチャであり、外部でホストされたプルリクエストではありません。想定されるエビデンスと判定については、ゴールデンデモの解説を参照してください。
CLI
boardreadyops run --json build/findings.json --sarif build/findings.sarif.json .
boardreadyops check .
boardreadyops check manufacturing.jobset-outputs .
boardreadyops plan . --format json
boardreadyops doctor
boardreadyops schema config
boardreadyops plan は、コーディングエージェントやハードウェアエージェント向けの機械可読なワークフローです。検出結果の根拠、修正手順、安全な自動修正を示すフラグ、検証コマンドを含む JSON アクションを出力するため、人間向けのレポートを読み取らなくても、エージェントは KiCad、BOM、ピンマップ、製造出力、リリースメタデータの問題を修正できます。詳しくはエージェント向けプランニング出力をご覧ください。
npm パッケージは、コミット済みの CLI バンドル dist/cli/index.cjs から boardreadyops バイナリを公開します。
設定
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
設定スキーマは schemas/config.schema.json にコミットされています。
対応するチェック
- KiCad の DRC および ERC レポートの正規化。
- BOM の完全性、ライフサイクル、DNP の一貫性、バリアントの一貫性、フットプリントの不一致チェック。
- ピンマップの形式、衝突、未マッピングのピン、ネットラベルのチェック。
- 製造出力、ドリル範囲、製造注記、パネルの妥当性、レイヤースタックアップ、ジョブセットのチェック。
- 設計アウトラインおよび銅箔バランスのチェック。
- リリースリビジョン、バージョン形式、タグ、変更履歴のチェック。
ローカル開発
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
このリポジトリでは、GitHub Action と npm パッケージを利用者側でビルドせずに実行できるよう、dist/action/index.cjs と dist/cli/index.cjs を意図的にバージョン管理しています。
ロードマップ
BoardReadyOps は、検証ゲートからフル機能のハードウェアリリース OS へと進化しています。マイルストーン計画についてはdocs/ROADMAP.mdをご覧ください。現在の実行状況は公開ロードマッププロジェクト、ロードマップの順序付けはissue #191をご確認ください。
リンク
- リポジトリ:https://github.com/oaslananka/boardreadyops
- イシュー:https://github.com/oaslananka/boardreadyops/issues
- 公開ロードマップ:https://github.com/users/oaslananka/projects/21
- ロードマップの順序付け:https://github.com/oaslananka/boardreadyops/issues/191
- セキュリティアドバイザリ:https://github.com/oaslananka/boardreadyops/security/advisories/new
ライセンス
現在のプロジェクト作成ソースは、PolyForm Noncommercial 1.0.0のライセンスに基づいています。商用利用には別途書面によるライセンスが必要です。商用ライセンスをご覧ください。以前の MIT リリースには、公開時に適用された MIT の権利が引き続き適用されます。詳しくはライセンスをご覧ください。
サードパーティーに関する通知は NOTICE に生成されます。完全なコンテナイメージは、適用される GPL 条項に基づいて KiCad を再配布し、イメージ内に KiCad のライセンステキストを保持しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。