faasjs-plugins-runtime について
faasjs-plugins-runtimeは、FaasJSのプラグインとランタイムユーティリティの実装・テストを支援するスキルです。ライフサイクルフック、注入フィールド、ログ、設定、Node環境での初期化を扱います。
主な機能
- 01プラグインのライフサイクルとフック
- 02注入フィールドの型定義
- 03ロガーの選択と扱い
- 04設定と環境変数の読み込み
- 05再試行可能なマウント初期化
- 06プラグインのライフサイクルテスト
活用シーン
- 01プラグインで認証やテナント情報を追加
- 02再試行可能なマウントフックを実装
- 03機密情報を漏らさないログ設定
- 04プラグインのライフサイクル動作をテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ faasjs/ faasjs --skill faasjs-plugins-runtimeインストール後、Claude Code で/faasjs-plugins-runtimeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/guidelines/logger.mdnode-utils.mdplugins.md詳細
FaasJS プラグインとランタイム
デフォルトのワークフロー
- 認証、テナント、リクエストメタデータ、権限スコープなど、複数の領域にまたがるビジネスコンテキストにはプラグインを使用します。
- プラグインのライフサイクルフックは、明確な責務範囲、再試行に安全なマウント初期化、必要な場合の
next()の呼び出しが1回だけになるように実装します。 DefineApiInjectのモジュール拡張を通じて、注入フィールドの型を提供します。- フレームワークがロガーを提供する場合は注入されたロガーを優先し、単独で動作するコードではラベル付きロガーを作成します。
@faasjs/node-utilsの使用は、Node 専用のブートストラップとツールの処理に限定します。
参照するドキュメント
- プラグインのインターフェース、ライフサイクルフック、注入フィールド、設定による読み込み、テスト:
references/guidelines/plugins.md。 - ロガーの選択、レベル、フォーマット、タイミング、シークレットの取り扱い:
references/guidelines/logger.md。 loadConfig、.envの読み込み、モジュールフック、スキーマヘルパー、パスの包含チェック:references/guidelines/node-utils.md。
注意点
- 注入フィールドは
InvokeDataを変更して追加し、モジュール拡張で型の範囲をドキュメント化します。 onMountは再試行に安全な実装にします。同時に呼び出された場合は1回の試行を共有し、失敗後の呼び出しでは再試行できるようにします。- シークレットや機密性の高いペイロード全体をログに記録しないでください。
- モジュールフックの登録は、プロセスのブートストラップ時に行います。
検証
- 動作がライフサイクルの実行に依存する場合は、実際の
Funcインスタンスを使ってプラグインをテストします。 onMountがリソースを管理する場合は、マウント成功の共有、マウント失敗の共有、失敗後の再試行をテストします。vp test <pattern>で対象を絞ってテストを実行します。- プラグインまたはランタイムのファイルを変更した場合は、引き継ぎ前に
vp check --fixを実行します。
コメント
Markdown 対応