gitlab-ci-generator について
バックエンドとフロントエンドを含む SaaS 向けに、`.gitlab-ci.yml` のパイプラインを生成・調整するスキルです。指定テンプレートを基にリポジトリ固有のパスやコマンドを反映し、CI 変数名を記録して YAML とジョブ構成を検証します。
主な機能
- 01基準となるパイプラインテンプレートのコピー
- 02パス、イメージ、テストコマンドの調整
- 03ブランチ別デプロイルールの設定
- 04CI 変数名の記録
- 05YAML とジョブ構成の検証
活用シーン
- 01バックエンドとフロントエンドを含む SaaS の CI 構築
- 02リポジトリのディレクトリ構成に合わせた調整
- 03プロジェクト設定に沿ったテスト・ビルドジョブの整備
- 04利用前のパイプライン設定確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nextstage-brasil/ skills --skill gitlab-ci-generatorインストール後、Claude Code で/gitlab-ci-generatorを入力して読み込まれたか確認します。
同梱ファイルevals/evals.jsonreferences/templates/gitlab-ci.template.yml
詳細
GitLab CI ジェネレーター
バックエンドとフロントエンドの SaaS 構成向けに、{product_root}/.gitlab-ci.yml を生成します。
ハーネスの検出
{harness}/rules/infra-rules.mdc、backend-tests-rules.mdc、e2e-tests-rules.mdc がある場合は読み込みます。{product_root}/docker-compose.yml を読み込みます。
使用する場面
.gitlab-ci.ymlを作成または調整する場合product_classが saas または intelligent_saas(バックエンドとフロントエンドが必須)の場合- ブランチベースのテスト/ビルド/デプロイの場合
対象外
agent_runtimeのみのパイプライン- テンプレートの契約範囲を超えるクラウドのプロビジョニング
入力
{product_root}が確認済みであること- 対象ブランチ(最低限:develop、homolog、main)
- E2E フォルダー名(
testes-cypress、tests-e2e、frontend/cypressのいずれか)
ワークフロー
A — ベースラインをコピー
references/templates/gitlab-ci.template.yml を {product_root}/.gitlab-ci.yml にコピーします。
製品ごとにリポジトリが分かれている場合、パスは製品ルートからの相対パスです(backend/、frontend/)。
B — 必須の調整
| 項目 | 対応 |
|---|---|
| E2E フォルダー | changes: とジョブの cd で製品のフォルダーに合わせる |
| PHP イメージ | バックエンドの Dockerfile に合わせる |
| テストコマンド | composer.json/package.json に合わせる |
| ロックファイル | キャッシュキーで yarn.lock と package-lock.json のどちらを使うか合わせる |
| デプロイブランチ | main/homolog/develop 以外の場合は正規表現を調整する |
| E2E が無効 | デプロイの needs から E2E ジョブを削除するか、RUN_REMOTE_E2E=false を記載する |
他の製品の CI ファイルはコピーしないでください。このテンプレートのみを使用してください。
C — GitLab CI 変数
任意の {product_root}/docs/context/ci-cd-notes.md に以下を記載します。
ENV_BACKEND、ENV_FRONTEND、テスト DB 変数、RUN_REMOTE_E2E、GCP キー — 名前のみを記載し、シークレットの値は記載しないでください
D — 検証
YAML を lint し、ジョブがリポジトリの構成と一致していることを確認します。
参考資料
| ファイル | 使用する場面 |
|---|---|
references/templates/gitlab-ci.template.yml | ベースラインのパイプライン |
関連スキル
code-e2e-tests— E2E フォルダーの規約pm-e2e-test-generator— E2E の範囲を計画する