SuperAPI AI 工具集

allow-commands

编程与开发

查看项目

更新于 10-15 17:30

技能介绍

用途:allow-commands 用于在已有 builder.config.json 中安全地添加 allowedCommands 允许列表条目,适用于用户要求允许命令、放行某个 CLI 工具或配置 allowedCommands 的场景。

主要能力:先检查项目根目录是否存在 builder.config.json;若不存在则告知用户未做任何更改,且不会创建该文件。若存在,则通过 AskUserQuestion 以多选方式询问要允许哪些命令,并提供预设:移动开发(Gradle、Android Debug Bridge、Apple/Xcode、Maestro 及相关移动构建工具)、Angular(Angular CLI 命令)、Unzip(unzip 解压)。问题界面含隐式自定义答案选项,可接受用户提供的自定义命令。随后读取并解析 builder.config.json,将请求条目合并进 allowedCommands,保留全部现有条目并去重,在用户做出选择后才写入更新后的合法 JSON,尽量保留文件原有缩进,最后报告新增条目;若请求条目均已存在,则说明无需更改配置。

预设命令:移动开发为 gradle *、gradle、./gradlew *、./gradlew、adb *、adb、xcrun *、xcodebuild *、xcode-select *、xed *、agvtool *、maestro *、maestro;Angular 为 ng *、ng;Unzip 为 unzip *、unzip。

限制与注意事项:绝不替换或删除现有 allowedCommands 条目;不添加重复命令字符串;自定义命令视为安全敏感,输入含糊时应要求澄清而非扩大范围;不允许自定义条目包含 shell 元字符或命令链,包括 ;、&&、||、|、反引号、$( 或换行;可接受的形式为命令名加可选的尾部 *。

使用方式:在项目根目录存在 builder.config.json 的前提下调用该技能,按提示选择预设或输入自定义命令即可。若文件不存在,技能不会创建文件,也不会做任何修改。