mcpField
E
expo-cicd-workflows

expo-cicd-workflows

github.com/sickn33クラウド・DevOps48.7k57 回インストール今日更新
リポジトリ

expo-cicd-workflows について

expo-cicd-workflowsは、ExpoプロジェクトのEAS CI/CDワークフローYAMLを作成・編集する開発者向けスキルです。最新のExpoスキーマとドキュメントに基づく作成支援と構造検証を行います。

主な機能

  1. 01EASワークフローYAMLの作成支援
  2. 02最新スキーマとドキュメントの取得
  3. 03ジョブと参照関係の確認
  4. 04スキーマに基づくYAML構造検証

活用シーン

  1. 01Expo EASビルドパイプラインの作成
  2. 02デプロイ自動化ワークフローの編集
  3. 03ワークフローファイルのスキーマエラー確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill expo-cicd-workflows

インストール後、Claude Code で/expo-cicd-workflowsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
scripts/
fetch.js
package.json
validate.js

詳細

EAS Workflows スキル

使用する場面

Expo プロジェクトの EAS ワークフロー YAML ファイルについて理解したり、作成したりする必要がある場合に、このスキルを使用します。Expo または EAS の CI/CD やワークフローについて質問された場合、.eas/workflows/ に言及された場合、または EAS ビルドパイプラインやデプロイの自動化について支援を求められた場合に、このスキルを使用します。

開発者が EAS CI/CD ワークフロー YAML ファイルを作成・編集できるよう支援します。

ローカルヘルパーの動作とデプロイ範囲

このツリーには fetch.js、validate.js、package.json が含まれていますが、依存関係はインストールされていません。実行前に内容を確認してください。fetch は任意の URL を受け付け、プラットフォームのリダイレクトをたどり、fetch ヘルパーの隣にある実行時生成の .cache ディレクトリにテキストをキャッシュします。また、組み込みのタイムアウトやレスポンスサイズ制限はありません。以下の固定された公式リソースのみを、制限されたネットワーク環境内で HTTPS 経由で使用してください。信頼できない URL や非公開 URL、認証情報は決して渡さないでください。検証では最新のスキーマを取得し、ローカルの YAML を解析します。結果は変わる可能性があるため、取得時刻とスキーマの識別情報を記録してください。Node は import.meta.dirname/main に対応している必要があり、インストールには互換性を確認した依存関係が必要です。構造検証ではワークフローの実行やシークレットの分離を確認できず、課金対象のビルド、提出、デプロイ、または定期的なトリガーを許可するものでもありません。

参照ドキュメント

ワークフローファイルを生成または検証する前に、これらのリソースを取得してください。まずこのスキルのディレクトリを解決し、その後 scripts/ ディレクトリにある fetch スクリプトを使用します。このスクリプトは Node.js で実装されており、効率化のため ETag を使ってレスポンスをキャッシュします。

# Fetch resources
node <skill-dir>/scripts/fetch.js <url>
  1. JSON Schema — https://api.expo.dev/v2/workflows/schema

    • このスキーマの取得は必須です
    • 検証の信頼できる情報源です
    • すべてのジョブタイプと、必須・任意のパラメーター
    • トリガータイプと設定
    • ランナータイプ、VM イメージ、すべての列挙値
  2. 構文ドキュメント — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/syntax.mdx

    • ワークフロー YAML 構文の概要
    • 例と英語による解説
    • 式の構文とコンテキスト
  3. パッケージ済みジョブ — https://raw.githubusercontent.com/expo/expo/refs/heads/main/docs/pages/eas/workflows/pre-packaged-jobs.mdx

    • サポートされているパッケージ済みジョブタイプのドキュメント
    • ジョブ固有のパラメーターと出力

新機能の追加に伴い、これらのリソースは更新されるため、記憶している値に頼らないでください。

ワークフローファイルの場所

ワークフローは .eas/workflows/*.yml(または .yaml)に配置します。

最上位の構造

ワークフローファイルには、次の最上位キーがあります。

  • name — ワークフローの表示名
  • on — ワークフローを開始するトリガー(少なくとも 1 つ必要)
  • jobs — ジョブの定義(必須)
  • defaults — すべてのジョブに共通するデフォルト値
  • concurrency — ワークフロー実行の並列処理を制御します

各セクションの完全な仕様については、スキーマを参照してください。

式

動的な値には ${{ }} 構文を使用します。利用可能なコンテキストはスキーマで定義されています。

  • github.* — GitHub リポジトリとイベントの情報
  • inputs.* — workflow_dispatch の入力値
  • needs.* — 依存するジョブの出力とステータス
  • jobs.* — ジョブの出力(代替構文)
  • steps.* — カスタムジョブ内のステップ出力
  • workflow.* — ワークフローのメタデータ

ワークフローの生成

ワークフローを生成または編集する際は、次の点に注意してください。

  1. スキーマを取得し、最新のジョブタイプ、パラメーター、許可される値を確認します
  2. 各ジョブタイプに必須フィールドが指定されていることを検証します
  3. needs と after 内のジョブ参照がワークフロー内に存在することを確認します
  4. 式が有効なコンテキストと出力を参照していることを確認します
  5. if 条件がスキーマの長さ制約を満たしていることを確認します

検証

ワークフローファイルを生成または編集した後、スキーマに照らして検証します。

# Install dependencies if missing
[ -d "<skill-dir>/scripts/node_modules" ] || npm install --prefix <skill-dir>/scripts

node <skill-dir>/scripts/validate.js <workflow.yml> [workflow2.yml ...]

検証ツールは最新のスキーマを取得し、YAML の構造をチェックします。ワークフローを完成と見なす前に、報告されたエラーをすべて修正してください。

質問への回答

ユーザーから利用可能なオプション(ジョブの種類、トリガー、ランナーの種類など)について質問された場合は、古くなっている可能性のある情報に頼るのではなく、スキーマを取得して、そこから回答を導き出してください。

制限事項

  • タスクが上流の製品または API の対象範囲に明確に一致する場合にのみ、このスキルを使用してください。
  • 変更を加える前に、コマンド、API の動作、料金、割り当て上限、認証情報、デプロイによる影響を、最新の公式ドキュメントで確認してください。
  • 生成された例を、環境固有のテスト、セキュリティレビュー、破壊的または高コストな操作に対するユーザーの承認の代わりとして扱わないでください。

コメント