关于 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-… 工作区。
输入:两个工作区 slug。此操作仅更新 prod 的当前(未版本化)代码;发布工作区版本并移动 stable 别名属于单独的平台发布流程(模型见
fcode-core-concepts,操作流程见 fcode-ama):除非用户明确要求,否则不要在此流程中运行 settings:versions:* 或移动 stable。
每次发布都必须经过 fcode-code-validation 验证,详见操作流程。
注意事项
- 必须具有 prod 写入权限。 只有操作员和应用的 Factorial 团队管理员可以推送到
prod-…工作区;发布请求提交后,管理员的授权会生效并写入访问令牌中——如果请求后立即被拒绝访问 prod,请运行fcode login后重试。由谁推广以及原因:fcode-ama。 - 推送前必须获得 ✅ 验证结果。 先对 dev 工作区运行
fcode-code-validation;只要报告中存在阻断项,就拒绝推送。只有用户明确要求“尽管存在阻断项也照常推送”时才可继续——并记录此验证关卡已被覆盖。 - 执行最终的
fcode push前,务必先确认。 概述 prod 工作区将发生的变更,并等待用户明确同意——prod 代码服务于正在运行的安装实例。 - 绝不使用
--force。 如果fcode pull或fcode push报告本地与 prod 存在差异,请停止,说明差异内容,并询问用户如何处理(fcode-cli)。 remote:add后必须执行fcode pull——该命令会获取 prod 工作区的当前元数据。跳过此步骤会将过时设置推送到 prod。- 两个 slug 都是编码后的令牌(
dev-…/prod-…),不是应用的 UUID(见fcode-cli)。请核对前缀:克隆目标和推送目标不得互换。 fcode clone失败通常意味着令牌输入错误或缺少访问权限(见fcode-ama)——不要盲目重试。- 如果本地已存在
dev-xxx/,不要悄悄复用——询问用户是从全新克隆发布(推荐),还是使用现有副本;若使用现有副本,请先运行fcode pull。
操作流程
-
收集两个 slug。 一个
dev-…(源),一个prod-…(目标)。如果前缀错误,或无法确定它们分别属于哪个应用,请停止并询问。 -
验证关卡。 确保 dev 工作区存在最新的 ✅
APP_VALIDATION_REPORT.md——如果报告缺失或已过时,请运行fcode-code-validation。若结果为 ❌,请列出阻断项并拒绝继续;只有用户明确覆盖验证关卡后才可继续。 -
克隆并配置 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 yet如果
fcode pull报告存在差异,请停止并询问(见“注意事项”)。 -
确认。 运行
fcode status,向用户概述推送将对prod-xxx产生的变更(流程、模块、变量、设置),并等待用户明确确认。 -
推送:
fcode push如果存在差异,请停止并询问——绝不可自行使用
--force。 -
报告结果,并提醒用户平台发布(发布版本、移动
stable)是单独的步骤(fcode-ama)。