SuperAPI AI 工具集

add-cli-option

写作与研究

查看项目

更新于 10-16 08:35

技能介绍

用途

本技能用于在 Remotion 中新增 CLI 或配置选项:把硬编码的 CLI 标志转换为规范的 AnyRemotionOption,或添加全新选项。

主要能力

新建选项定义:在 packages/renderer/src/options/<name>.tsx 中导出满足 AnyRemotionOption 的对象,包含 name、cliFlag、description、ssrName、docLink、type(默认值同时决定 TS 类型)、getValue、setConfig。用 AnyRemotionOption<T> 与 type: <default> as T 决定值类型,可取 boolean、string | null、number | null 等;否定型标志(如 --disable-ask-ai 对应 askAIEnabled = false)在 getValue 中处理反转。

注册与接线:在 packages/renderer/src/options/index.tsx 中按字母序加入 import 并登记进 allOptions;在 packages/cli/src/parsed-cli.ts 中把布尔标志的 cliFlag 加入 BooleanFlags 数组(非布尔标志无需登记);在 packages/cli/src/parse-command-line.ts 加入解构与 CommandLineOptions 类型项;使用时通过 myFlagOption.getValue({commandLine: parsedCli}).value 解析,而非直接读取 parsedCli['my-flag']。

接入 Config:在 packages/cli/src/config/index.ts 加入解构、在 FlatConfig 类型中加设置器签名,并在 Config 对象中实现 setMyFlagEnabled: myFlagOption.setConfig。

文档更新(必做):在 CLI 命令页面(如 cli/render.mdx、lambda/cli/render.mdx、cloudrun/cli/render.mdx、cli/benchmark.mdx)与 packages/docs/docs/config.mdx 中使用 <Options id="my-flag" />,id 须与 cliFlag 一致;转换已有硬编码标志时用手写描述替换为 Options 组件,并提供 twoslash 示例、说明 CLI 标志优先。

验证:cd packages/renderer && bun run make;cd packages/cli && bun run make。

适用场景:为 Remotion CLI 或 Config 添加选项、统一选项定义与文档来源时使用。

限制:具体行为、版本与兼容性要求资料未提供。