SuperAPI AI 工具集

moai-tool-ast-grep

编程与开发

查看项目

更新于 10-16 01:17

技能介绍

用途:该技能封装 ast-grep(sg CLI),用抽象语法树做结构化代码搜索、lint 与代码转换,弥补正则无法理解语法的不足。适用于嵌套调用等复杂模式查找、跨文件语义重构、SQL 注入与 XSS 等漏洞模式扫描、API 迁移与废弃处理、语法级代码风格约束。

主要能力:支持模式搜索、基于规则的扫描、代码改写与规则测试;模式语法中 $VAR 捕获单个 AST 节点,$$$ARGS 做可变参数捕获,$$_ 为匿名单节点匹配。支持 Python、JavaScript、TypeScript、Go、Rust、Java、Kotlin、C、C++、Ruby、Swift、C#、PHP、Scala、Elixir、Lua、HTML、Vue、Svelte 等 40 多种语言。规则支持 inside、has、follows、precedes、not、any、all 等关系与组合条件,可写 YAML 规则并配置 sgconfig.yml 的 ruleDirs、testConfigs、languageGlobs。

使用方式:安装可用 brew install ast-grep、npm install -g @ast-grep/cli 或 cargo install ast-grep。常用命令如 sg -p 'authenticate($$$)' --lang python -r src/ 做模式搜索,sg scan --config sgconfig.yml 做规则扫描,sg run 配合 pattern 与 rewrite 做改写,sg test 校验规则。JSON 输出可加 --json 供 CI/CD 使用。

限制:资料未提供具体性能基准之外的量化数据、收费与平台信息;复杂多文件转换、自定义语言配置等需查阅其模块文档与官方文档。