使用方法
- 复制安装命令,在自己的智能体环境安装前先检查源码包。
- 从原始文档核对所需工具、凭据和支持的宿主。
- 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/factorialco/factorial-code-skills --skill fcode-release开始前需了解
- 安装不包含模型订阅、API 额度或访问文件的权限。
- 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。
Factorial Code — Release
Promotes an app's code from its dev-… workspace to its prod-… workspace using CLI remotes. Input: the two workspace slugs. This updates prod's current (unversioned) code only — publishing a workspace version and moving the stable alias is the separate platform release (model in fcode-core-concepts, journey in fcode-ama): don't run settings:versions:* or move stable in this flow unless explicitly asked.
Gate every release with fcode-code-validation — see the procedure.
Gotchas
- Prod write access is required. Only operators and the app's Factorial
team admins can push to a prod-… workspace; the admin's grant lands when a release is requested and rides in the access token — if prod access is refused right after requesting, run fcode login and retry. Who promotes and why: fcode-ama.
- A ✅ validation is required before pushing. Run
fcode-code-validation
on the dev workspace first; while the report has Blockers, refuse to push. Only an explicit user override ("push anyway despite the Blockers") proceeds — record that the gate was overridden.
- Always confirm before the final `fcode push`. Summarize what will
change in the prod workspace and wait for an explicit yes — prod code serves live installations.
- Never `--force`. If
fcode pullorfcode pushreports a divergence
between local and prod, stop, show what diverged, and ask the user how to proceed (fcode-cli).
- The `fcode pull` after `remote:add` is mandatory — it picks up the
prod workspace's current metadata. Skipping it pushes stale settings over prod's.
- Both slugs are encoded tokens (
dev-…/prod-…), not the app's
UUID (see fcode-cli). Verify the prefixes: cloning target and push target must not be swapped.
- A failing `fcode clone` usually means a mistyped token or missing
access (see fcode-ama) — don't retry blindly.
- If `dev-xxx/` already exists locally, don't reuse it silently — ask
whether to release from a fresh clone (recommended) or the existing copy, and fcode pull it first.
Procedure
- Collect the two slugs. One
dev-…(source) and oneprod-…
(target). Wrong prefix or any ambiguity about which app they belong to: stop and ask.
- Validation gate. Ensure a current ✅
APP_VALIDATION_REPORT.md
exists for the dev workspace — run fcode-code-validation when it is missing or stale. On ❌, list the Blockers and refuse; proceed only on an explicit user override.
- Clone and wire the prod remote:
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 yetOn a divergence reported by fcode pull: stop and ask (see Gotchas).
- Confirm. Run
fcode status, summarize for the user what the push
will change in prod-xxx (processes, modules, variables, settings), and wait for explicit confirmation.
- Push:
fcode pushOn a divergence: stop and ask — never --force on your own.
- Report the outcome, reminding the user that the platform release
(publish a version, move stable) is a separate step (fcode-ama).



