@ast-bro/cli (英语)
npm 安装器 驴哥 ——一个快速,基于AST的代码导航工具包,用于源文件(形状,公共API,dep & call graphs,混合语义搜索,结构重写,MCP服务器). 安装时下载预建的 Rust 二进制 .
原为
@ast-outline/cli。 。 。 . 新范围下的相同项目ast-outline名称在工具超出概述范围后变得超载)。 这个ast-outline命令仍然被安装为转发到ast-bro,因此现有的脚本继续工作.
安装
npm install -g @ast-bro/cli
此安装三个命令, 全部转发到相同的二进制 :
ast-bro- 犬类名称sb——简称别名(同一种工具,键打较少)ast-outline——后相相接闪电
使用量
# Map the structure of a file (signatures + line ranges, no bodies)
ast-bro map src/player.rs
# Show the exact source of a specific method
ast-bro show Player.cs TakeDamage
# Compact digest of a whole module
ast-bro digest src/services/
# True public API (resolves pub use / __all__ re-exports)
ast-bro surface .
# Find all implementations of a type
ast-bro implements IDamageable src/
# Dependency graph
ast-bro deps src/auth.rs --depth 2
ast-bro reverse-deps src/auth.rs
ast-bro cycles
# Call graph (AST-accurate)
ast-bro callers TakeDamage
ast-bro callees Player.TakeDamage
# Hybrid BM25 + dense semantic search
ast-bro search "how does login work"
# Find semantically similar code
ast-bro find-related src/auth/login.rs:42
# AST-aware structural search and rewrite (with metavariables)
ast-bro run -p '$FUNC($$$)' -l rust
ast-bro run -p 'foo($A)' -r 'bar($A)' --write # apply to disk
在第一次运行时, CLI 从您平台下载预建的二进制 GitHub 发布 并在当地缓存它.
| 平台 | 缓存目录 |
|---|---|
| 马科斯 | ~/Library/Caches/ast-bro-<version>/ |
| 链接 | ~/.cache/ast-bro-<version>/ |
支持的平台
| 平台 | 状态 |
|---|---|
| 马科斯ARM64 | 预建二进制可用 |
| 其他平台 | 从源建(见下文) |
对于不支持的平台,从源创建:
cargo install ast-bro
什么是灰哥吗?
驴哥 是一个快速的,基于AST的编码导航工具包,为LLM编码代理和人类所建. 用这个 植树人 通过 ast- grep 图像 以解析源文件并提供:
- 文件形状 —— 说
map编号 :digest编号 :show对有行区域的签名(95%的令牌储蓄对读完整文件) - 真公众 API —— 说
surface解决 Rust、 Python、 TypeScript 和更多 - 依赖图 —— 说
deps编号 :reverse-deps编号 :cycles编号 :graph用于进口分析 - 调用图表 —— 说
callers编号 :callees14种语言的AST精度 - 语义搜索 ——混合 BM25 + 密集嵌入
search财务报告和审定财务报表find-related - 结构重写 —— 说
run用于AST-意识模式与可变态相匹配(查找+替换) - MCP 服务器 ——每个命令作为LLM代理的MCP工具被曝光
支持Rust,Python,TypeScript,JavaScript,Java,C#,C++,克特林,斯卡拉,去,PHP,Ruby,SQL和Markdown.
链接
- ast-bro 源代码
- PyPI 软件包 (蟒蛇安装器)
- 货箱.io (Rust图书馆)