mcpField
C
cli-power-tools

cli-power-tools

github.com/oakoss开发20112 次安装10 周前更新
代码仓库

关于 cli-power-tools

cli-power-tools 是一项命令行操作技能,介绍如何使用搜索、文件、结构化数据和 HTTP 工具。适用于代码库分析、数据转换及相关终端工作流。

主要功能

  1. 01用 rg 和 fd 搜索文本与文件
  2. 02用 bat 和 eza 查看文件
  3. 03用 jq 和 yq 转换 JSON 与 YAML
  4. 04用 Nushell 构建结构化数据管道
  5. 05用 xh 发送 HTTP 请求

适用场景

  1. 01在代码库中搜索并追踪代码
  2. 02批量重构匹配模式的文件
  3. 03转换 JSON 或 YAML 数据
  4. 04调试 API 并解析日志

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oakoss/agent-skills --skill cli-power-tools

安装后在 Claude Code 中输入/cli-power-tools确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
advanced-regex-and-jq.md
modern-unix-toolbox.md
nushell-structured-data.md

详细介绍

Utility Pro

概述

精通命令行环境,将原始文本和非结构化数据转化为可执行的洞察。结合 Rust 驱动的搜索工具(ripgrep、fd、bat)、结构化数据 Shell(Nushell)、JSON 操作工具(jq/yq)和现代 HTTP 客户端(xh),打造高性能的 CLI 工作流。

核心理念: 使用能够理解数据结构的专用工具,取代旧式文本解析管道(grep/awk/sed 链)。ripgrep 能理解 gitignore 规则,fd 能识别文件类型,jq 能处理 JSON,Nushell 能理解表格。

适用场景: 全代码库搜索与分析、多文件重构、JSON/YAML 转换管道、API 调试、目录导航、日志解析、磁盘使用情况审计、依赖追踪。

不适用场景: 基于 GUI 的任务、复杂的应用逻辑(应改为编写脚本)、需要交互式提示的任务。

快速参考

模式工具 / 命令要点
文本搜索rg "pattern" -g "*.tsx"比 grep 快 10-100 倍,并遵循 .gitignore
文件搜索fd -e pdf or fd "pattern"find 的快速替代方案,默认设置更智能
语法高亮读取bat file.ts支持语法高亮和 git 集成的 Cat
目录跳转z project-name记住经常访问的目录
模糊搜索fzf or CTRL-T / CTRL-R交互式选择文件和历史记录
树形视图eza --tree --level=2支持树形视图、元数据丰富的 ls 替代工具
JSON 查询jq '.items[] | select(.active)'为 JSON 提供完整的函数式编程能力
YAML 查询yq '.config.database' file.yml类似 jq 的 YAML 文件语法
HTTP 请求xh POST api.example.com/v1/data key=value彩色显示、易于使用的 HTTP 客户端
多文件重构fd -e tsx -x sed -i 's/Old/New/g' {}查找文件后执行转换
结构化 Shellls | where size > 1mb | sort-by size使用 Nushell 表格,而非解析文本
日志解析rg "ERROR" --json | jq 'select(.type == "match") | .data.lines.text'将 ripgrep JSON 输出与 jq 筛选器结合使用
带搜索的文件预览fzf --preview 'bat --color=always {}'浏览文件并查看语法高亮预览
查找最近更改的文件fd --changed-within 1h查找在指定时间范围内修改的文件
按文件统计导出数量rg -c "pattern" -g "*.ts" | sort -t: -k2 -rn统计每个文件中的匹配项,并按频次排序
JSON 格式转换yq -o json config.yml在 YAML、JSON、CSV 和其他格式之间转换
高级正则搜索rg -P "(?<=function\s)\w+" --only-matching使用 PCRE2 匹配前瞻 / 后顾模式
感知 Git 的文件列表eza -la --git --icons显示文件元数据和内联 Git 状态

工具概览

类别现代工具替代工具主要优势
文本搜索ripgrep (rg)grep、ag、git grep速度快、识别 .gitignore、支持 Unicode
文件搜索fdfind默认设置智能、支持正则表达式、并行处理
文件查看器batcat、less语法高亮、Git 差异标记
目录跳转zoxide (z)cd、autojump基于访问频率的排序、可回退到 fzf
模糊查找器fzf手动管道传递可用于任意列表的通用选择器
文件列表ezals、tree树形视图、Git 状态、图标
JSON 处理jqawk、Python 单行命令类型化、函数式 JSON 转换
YAML 处理yq用 sed 处理 YAML适用于 YAML 的 jq 兼容语法
HTTP 客户端xhcurl、httpieHTTPie 语法、Rust 速度、单个二进制文件
结构化 ShellNushellbash + awk/sed类型化表格、原生格式转换

常见错误

错误正确做法
在代码库搜索中使用 grep 而不是 ripgrep使用 rg,速度快 10–100 倍,且默认遵循 .gitignore
将 ls 的输出传递给 grep 来筛选文件使用 fd 查找文件,或使用 eza -D / eza --ignore-glob 列出文件
编写复杂的 awk 脚本处理结构化数据使用原生支持 JSON、CSV 和 YAML 的 Nushell 或 jq
在脚本中运行 rm -rf,却不先执行试运行执行破坏性操作前,务必先添加验证或试运行步骤
在不需要时使用正则表达式捕获组优先使用非捕获组 (?:...),以提升大规模扫描的性能
搜索 node_modules 或 .git 目录使用默认跳过这些目录的 rg,或明确配置排除项
在 rg --json 中忘记使用 select(.type == "match")ripgrep JSON 会输出 begin、match、context、end 和 summary 消息类型
使用 curl 的冗长标志语法使用 xh,它提供彩色输出和兼容 HTTPie 的请求项语法
使用 cut/tr 在工具之间解析文本输出使用 Nushell 管道,在每个阶段保留结构化数据
在正则表达式开头使用 .* 锚定尽可能使用 ^ 锚定;未锚定的 .* 会导致昂贵的回溯

安装

所有工具均可通过常见的包管理器获取。大多数工具都是静态链接的单文件二进制程序。

工具macOS(Homebrew)Linux(apt/cargo)
ripgrepbrew install ripgrepapt install ripgrep 或 cargo install ripgrep
fdbrew install fdapt install fd-find 或 cargo install fd-find
batbrew install batapt install bat 或 cargo install bat
zoxidebrew install zoxidecargo install zoxide
fzfbrew install fzfapt install fzf
ezabrew install ezacargo install eza
jqbrew install jqapt install jq
yqbrew install yqsnap install yq 或 go install
xhbrew install xhcargo install xh
Nushellbrew install nushellcargo install nu

Shell 集成(安装后添加到 Shell 配置中):

工具所需的 Shell 集成
zoxideeval "$(zoxide init zsh)"(或使用 bash/fish 对应命令)
fzf从 fzf 安装目录中引入按键绑定和补全脚本

委派

  • 大规模代码库搜索与分析:使用 Explore Agent 运行 ripgrep 查询、追踪依赖项并梳理代码模式
  • 多文件重构工作流:使用 Task Agent 协调整个项目中的 fd、sed 和验证步骤
  • 数据转换的流水线架构:使用 Plan Agent 设计结合 jq、Nushell 和 API 工具的结构化流水线

参考资料

评论

支持 Markdown