SuperAPI AI 工具集

srgn-cli

编程与开发

查看项目

更新于 10-16 07:44

技能介绍

用途

srgn-cli 用于把用户意图转换为精确、安全的 srgn 命令。它专注于 CLI 工作流:搜索、转换、范围化迁移,以及类似 lint 的检查。

主要能力

该技能通过决策树对请求分类:仅搜索、流式转换(stdin/stdout 管道)、文件转换(对 glob 原地更新)。它支持多种范围策略:仅正则范围、仅语言范围、语言与正则组合范围、自定义 tree-sitter 查询范围。动作策略包括替换(在 -- 之后提供位置替换参数)、可组合动作(--upper、--lower、--titlecase、--normalize、--symbols、--german)以及独立动作(-d、-s)。

使用方式

命令构造模板为:srgn [LANGUAGE_SCOPE_FLAGS...] [GLOBAL_FLAGS...] [ACTION_FLAGS...] [SCOPE_REGEX] -- [REPLACEMENT]。构建时先确定范围,其次添加正则过滤,然后确定动作,再按需添加文件模式标志(如 --glob 和 --dry-run),最后设置 CI 行为(如 --fail-any、--fail-none)。

技能提供高价值任务示例,包括:仅重命名 Python 模块导入、仅将 Python 调用点的 print 转为 logging、重命名 Rust use 前缀而不影响字符串/注释、仅删除 C# 注释、搜索 Rust unsafe 关键字、在 Python 文档字符串中检测不良模式并使 CI 失败、强制机器可读输出,以及预览多文件更改。

安全协议

默认先采用非破坏性行为,优先使用基于 stdin 或搜索模式示例,再进行原地重写。文件编辑要求先预览路径:先使用 --dry-run,确认后再运行不带 --dry-run 的同一命令。保护 shell 解析边界:引号包裹正则、引号包裹 glob(如 --glob '/*.py')、在替换值前使用 --。--glob 仅接受一个模式,不能重复;glob 语法仅支持 *、?、[...]、,不支持 {a,b} 花括号扩展。

适用场景

适用于需要语法感知的源代码搜索与转换,例如跨文件的导入重命名、调用点替换、注释/文档字符串范围操作、CI 中的模式检测与失败条件。使用尽可能窄的范围,优先使用语言范围加锚定正则,而非仅宽泛正则替换。将 -d 和 -s 视为高风险操作,始终为其提供明确范围。

限制与说明

资料中未提供 srgn 的安装方法、版本要求、支持语言清单之外的细节、定价或平台信息。多个语言范围同时使用时默认取交集(从左到右收窄),如需 OR 行为使用 -j。若特殊字符被误认为正则,可使用 --literal-string。参考文件包括 references/cli-cookbook.md、references/language-scopes.md、references/advanced-patterns.md、references/deepwiki-recursive-notes.md,可按请求类型加载。