fcode-release について
Factorial Code のスキルで、CLI リモートを使ってアプリのコードを開発ワークスペースから本番ワークスペースへ反映します。検証を必須とし、本番へのプッシュ前に明示的な確認を求めます。
主な機能
- 01ワークスペース間のコード反映
- 02プッシュ前の検証必須化
- 03確認前の本番変更レビュー
- 04差分時の停止と強制プッシュ禁止
活用シーン
- 01検証済みアプリのワークスペース反映
- 02プッシュ前の本番変更確認
- 03ワークスペースの差分への安全な対応
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ factorialco/ factorial-code-skills --skill fcode-releaseインストール後、Claude Code で/fcode-releaseを入力して読み込まれたか確認します。
詳細
Factorial Code — リリース
CLI のリモートを使用して、アプリのコードを dev-… ワークスペースから prod-… ワークスペースに昇格させます。入力は 2 つのワークスペーススラッグです。これによって更新されるのは、prod の現在の(バージョン管理されていない)コードのみです。ワークスペースのバージョンを公開し、stable エイリアスを移動するのは別途行うプラットフォームリリースです(モデルについては fcode-core-concepts、手順については fcode-ama を参照)。明示的に指示されない限り、このフローでは settings:versions:* を実行したり、stable を移動したりしないでください。
すべてのリリースに fcode-code-validation によるゲートを設けてください。手順を参照してください。
注意点
- prod への書き込みアクセスが必要です。
prod-…ワークスペースにプッシュできるのは、オペレーターとアプリの Factorial チーム管理者のみです。管理者による許可はリリースがリクエストされた時点で反映され、アクセストークンに適用されます。リクエスト直後に prod へのアクセスを拒否された場合は、fcode loginを実行して再試行してください。誰が、なぜ昇格させるのかについてはfcode-amaを参照してください。 - プッシュ前に ✅ の検証が必要です。 まず dev ワークスペースに対して
fcode-code-validationを実行してください。レポートに Blockers がある間は、プッシュを拒否してください。明示的なユーザーの上書き指示(「Blockers があってもそのままプッシュ」)がある場合に限り続行し、ゲートが上書きされたことを記録してください。 - 最後の
fcode pushの前に必ず確認してください。 prod ワークスペースで何が変更されるかを要約し、明示的な承認を待ってください。prod のコードは稼働中のインストール環境に提供されています。 - 決して
--forceを使わないでください。fcode pullまたはfcode pushでローカルと prod の不整合が報告された場合は、作業を止め、不整合の内容を示して、どう進めるかユーザーに確認してください(fcode-cli)。 remote:addの後のfcode pullは必須です。 prod ワークスペースの現在のメタデータを取り込みます。これを省略すると、古い設定が prod にプッシュされます。- どちらのスラッグもエンコードされたトークン(
dev-…/prod-…)であり、アプリの UUID ではありません(fcode-cliを参照)。プレフィックスを確認し、クローン先とプッシュ先を取り違えないでください。 fcode cloneの失敗は通常、トークンの入力ミスまたはアクセス権の不足を意味します(fcode-amaを参照)。やみくもに再試行しないでください。- ローカルに
dev-xxx/がすでに存在する場合、確認せずに再利用しないでください。 新規クローン(推奨)と既存のコピーのどちらからリリースするかをユーザーに確認し、既存のコピーを使う場合は先にfcode pullを実行してください。
手順
-
2 つのスラッグを確認します。
dev-…(ソース)とprod-…(ターゲット)を 1 つずつ確認してください。プレフィックスが誤っている場合や、どのアプリに属するか曖昧な場合は、作業を止めて確認してください。 -
検証ゲートを通します。 dev ワークスペースの最新の ✅
APP_VALIDATION_REPORT.mdが存在することを確認してください。存在しない場合、または古い場合はfcode-code-validationを実行してください。❌ の場合は Blockers を列挙して拒否し、ユーザーが明示的に上書きを指示した場合に限り続行してください。 -
クローンして prod のリモートを設定します。
fcode clone --skipSkillsSetup dev-xxx cd dev-xxx fcode remote:add prod-xxx fcode pull # mandatory: picks up prod's current metadata fcode add # registers resources prod doesn't have yetfcode pullで不整合が報告された場合は、作業を止めて確認してください(「注意点」を参照)。 -
確認します。
fcode statusを実行し、prod-xxxでプッシュによって何が変更されるか(プロセス、モジュール、変数、設定)をユーザーに要約して、明示的な承認を待ってください。 -
プッシュします。
fcode push不整合がある場合は、作業を止めて確認してください。独断で
--forceを使ってはいけません。 -
結果を報告し、 プラットフォームリリース(バージョンの公開、
stableの移動)は別の手順であることをユーザーに伝えてください(fcode-ama)。