mcpField
K
kineti-fe-types-sync

kineti-fe-types-sync

github.com/sztadii開発014 回インストール今日更新
リポジトリ

kineti-fe-types-sync について

Kineti のフロントエンドリポジトリで、バックエンドから生成した契約を同期する開発者向けスキルです。入力の固定、型生成、利用側やモックの調整、検証までを扱い、変更はコミットせずに残します。

主な機能

  1. 01リポジトリの対応関係と設定の確認
  2. 02バックエンド契約からの型生成
  3. 03フロントエンド利用側とモックの調整
  4. 04型チェックと CI ユニットテストの検証
  5. 05レビュー用にローカル変更を保持

活用シーン

  1. 01バックエンド契約変更後のフロントエンド型更新
  2. 02API 形状の変更に合わせたモック更新
  3. 03フロントエンドとバックエンド Schema の互換性確認
  4. 04生成変更をローカルレビュー用に準備

インストール

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

$npx skills add https://github.com/sztadii/agent-skills --skill kineti-fe-types-sync

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

同梱ファイルagents/openai.yaml

詳細

Kineti フロントエンドのバックエンド型を同期する

範囲

現在のバックエンドコントラクトを生成し、選択したタスクのチェックアウトでフロントエンドの利用箇所とモックを適応させ、検証します。レビュー用に Changes で未コミットの変更を残してください。プッシュ、PR/パッケージ/比較リンクの公開、デプロイ、スケジュールの変更は行わないでください。 このスキルを編集しても、スキルは実行されません。

依存関係

スキルの依存関係はありません

ワークフロー

入力を解決する

リモート、リポジトリ/ネストされた指示、package.json、ジェネレーター設定、 CI を確認します。既存のジェネレーター/スクリプトを使用し、代替品を作成しないでください。重複がないか、オープンな PR と リモートブランチを確認し、具体的な競合がない限り、重複を報告して作業を続けます。他者の作業を保持してください。PR がないからといって、作業が存在しないとは限りません。

フロントエンドとバックエンドのデフォルトブランチをフェッチし、SHA を記録します。ユーザーの作業/履歴を保持し、最新のフロントエンドベースを使用します。リセット、破棄、または通知なしのスタッシュではなく、ブロッカーを報告してください。次の kineti1 マッピングが現在の設定と一致することを確認します。

フロントエンドバックエンド入力生成
drones-frontenddrones-backend/docs/openapi.json, drones-backend/docs/ws_models.json, gdk-backend/docs/openapi.jsonpnpm run generate-api-types; OpenAPI and WebSocket generators
gdk-frontendgdk-backend/docs/openapi.jsonpnpm run generate-api-types; openapi-ts.config.ts

その他のフロントエンドについては、設定からリポジトリ、スキーマ/出力パス、コマンドを特定し、不足しているマッピングを確認します。BE コードを推測で変更しないでください。

生成する

  • 記録した SHA に固定したバックエンドの分離コピーを、clone または fetch/pull --ff-only で準備します。ユーザーのバックエンドチェックアウトと想定される兄弟パスを保持してください。 パスが衝突する場合は、フロントエンドからタスクのチェックアウトへのシンボリックリンクを使った分離レイアウトにし、 解決先と出力先がそこになることを確認します。フロントエンドの変更を一時クローンに移動したり、共有ジェネレーターパスを書き換えたりしないでください。
  • 認証/インストールの各コマンドに AWS_PROFILE=kineti を設定し、再試行します。フロントエンドのチェックアウトで AWS_PROFILE=kineti pnpm run preinstall を実行し、続けて AWS_PROFILE=kineti pnpm install --frozen-lockfile を実行します。継承したシェル設定やグローバルな認証情報の変更ではなく、プロジェクトの pnpm/レジストリ/フックを使用してください。シークレットは非公開に保ち、次のコマンドで認証を診断します。 AWS_PROFILE=kineti aws sts get-caller-identity
  • 既存の生成処理をすべて実行し、出力とフォーマットによる副作用を確認します。 生成されたコントラクトは編集しないでください。依存関係/ロックファイルの変更は、明らかに必要で作業範囲内の場合に限ります。

適応して検証する

完全な型チェックを実行します。前の段階でブロックされた場合は、後続の段階を個別に実行してください。 コード、モック、テストを適応する前に、変更されたコントラクトをスキーマおよびバックエンド実装と比較します。対象は null 許容性、必須フィールド、列挙型、形状、実行時の意味論です。既存のツールを使って、ユーザーに表示されるテキストの翻訳を更新します。any、不当なキャスト、型の弱体化、チェックの無効化、アサーションの削除で互換性の問題を隠さないでください。関連する失敗を修正し、影響を受けるチェックを再実行します。

インストール、生成、適応がすべて完了したら、独立したチェックを並列実行します。前提条件がある作業と、変更可能なリソースを共有するチェックは順番に実行し、修正に進む前にすべての結果を収集します。

完了条件は、完全な型チェックと、watch モードではない CI の単体テスト一式すべてに合格することです。その他の lint/フォーマット/翻訳/ビルドチェックは、PR の CI で必要な場合に限り実行します。動作の変更だけでは、追加のテスト一式を実行する理由にはなりません。プロジェクトのコマンドを確認します。drones-frontend では test-ci、gdk-frontend では test:ci を使用します。未コミットの変更もチェック対象に含めます。Nx の検証には NX_SKIP_NX_CACHE=true NX_NO_CLOUD=true を使用します。

ローカル/リモートの E2E やブラウザーのテスト一式は、リポジトリの指示に記載されていても、Playwright/Cypress を含めて決して実行しないでください。集約スクリプト/Nx ターゲットを確認し、E2E 以外のターゲットを選択します。E2E は意図的に未実行と報告し、合格またはブロッカーとはしないでください。CI を無効化したり変更したりしないでください。

最終差分と、固定した入力から再現可能な生成結果を確認します。ユーザーの作業を保持しながら、意図しない変更を取り除きます。インストール/ジェネレーターの失敗はブロッカーであり、BE コントラクトに問題がある証拠ではありません。未解決の上流/外部の問題は、根拠を添えて未完了として報告します。

結果

ポーランド語で簡潔に返信してください。変更なし/Changes でローカルに準備完了/ブロック中または判断が必要、のいずれかを伝えてください。フロントエンドとバックエンドの SHA、生成・適応した箇所、類似の PR、生成・型チェック・その他の結果、失敗または未実行のチェックを含めてください。残っている TS エラーについては、ファイル、メッセージ、コントラクトの変更を示してください。型だけでは実行時の互換性を証明できません。ローカルでレビュー可能な結果を示したところで終えてください。

コメント