library-selection について
Arduino ファームウェア開発者向けのライブラリ評価手順です。ハードウェア、アーキテクチャ、ツールチェーンの条件を先に確認し、適合性と影響を比較します。バージョン固定、コンパイル、実行時の検証も含みます。
主な機能
- 01ボードとツールチェーンの制約記録
- 02上流バージョン・ライセンス・対応アーキテクチャの確認
- 03API 適合性・使用量・動作の比較
- 04バージョン固定と選定理由の記録
- 05コンパイルと実行時動作の検証
活用シーン
- 01候補ライブラリ間の互換性評価
- 02対象ボードとフレームワークへの対応確認
- 03依存ライブラリのメモリ影響とライセンスの確認
- 04デバイス更新に向けた依存元情報の管理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wedsamuel1230/ arduino-skills --skill library-selectionインストール後、Claude Code で/library-selectionを入力して読み込まれたか確認します。
詳細
ライブラリの選定
ライブラリは、ファームウェアとハードウェアの契約の一部として扱います。あるアーキテクチャでコンパイルできる人気のパッケージでも、別のアーキテクチャでは、ピン、タイマー、メモリ、バスに関する前提、または API に互換性がない場合があります。
受け入れ
正確なボード/モジュール、アーキテクチャ、Arduino コアまたはベンダー SDK、コンパイラー、ツールチェーン、必要な API、バス/ピンの制約、メモリ予算、ライセンスの適用範囲、更新ポリシー、およびデバイスが接続型か現場で更新可能かを記録します。
プロセス
- アップストリームのソース、リリース/タグ、ライセンス、対応アーキテクチャ、フレームワークの手順を確認します。一次リポジトリと最新のリリースノートを優先します。
- 候補の API との適合性、ボードのバリエーション、推移的依存関係、フラッシュ/SRAM/ヒープへの影響、ブロッキング動作、並行処理、バス/プルアップに関する前提、エラー/復旧動作を比較します。
- オープンな課題やメンテナンス状況を示す情報を確認します。ただし、スター数やインストール数を互換性の証明とみなしてはいけません。
- バージョンを固定し、来歴と選定理由を記録して、サポート対象外のボード/フレームワークの分岐を文書化します。
- 最小限のコンパイル用フィクスチャを実行し、その後、シミュレーションまたは対象環境での動作を確認します。
不合理な判断の正当化を防ぐ
| 安易な判断 | 対応 |
|---|---|
| 「インストール数が多いです。」 | アーキテクチャ、コアのバージョン、API、ハードウェアの契約を確認します。 |
| 「最新バージョンが最適です。」 | リリースノート、互換性、フットプリント、リグレッションの履歴を確認します。 |
| 「I2C スキャナーで検出できました。」 | ライブラリの初期化、レジスターの読み取り、タイミング、エラー処理経路をテストします。 |
| 「AVR では動作しました。」 | ESP32/S3/Pico のアーキテクチャ、ピン、タイマー、メモリを再確認します。 |
| 「依存関係は単なるヘルパーです。」 | 推移的なコードも含め、ライセンスとセキュリティを確認します。 |
検証
- 候補の比較に、ソース、バージョン、アーキテクチャ、ライセンスが含まれています。
- 最小コンパイルの出力に、正確な FQBN/環境と依存関係の解決結果が示されています。
- メモリの差分と、ランタイムまたはシミュレーションでの動作確認結果を 1 件記録しています。
- 接続型デバイスには、依存関係の更新計画とシークレットの取り扱い計画があります。
共通の出力契約
共通の Arduino スキル契約を使用します。前提条件、必要なツールとバージョン、実装手順、検証段階ごとのテスト/証拠、既知の制限事項、復旧/セキュリティに関する注記を記載してください。
コメント
Markdown 対応