用途:在编码智能体(Claude 技能)环境中管理命令行工具,包括安装、更新、卸载与安装方式协调,并审计环境中的 PATH、重复安装与项目所需工具。脚本位于仓库 scripts/ 目录,须以 ${CLAUDE_SKILL_DIR}/../../scripts/ 路径调用,不要使用副本。
主要能力:
- 缺失工具处理:先用 type -P -a <binary> 诊断,再 hash -r;工具可能已在 ~/.local/bin、~/.cargo/bin 或 $(go env GOPATH)/bin 中但不在 PATH。可通过 references/binary_to_tool_map.md 或 jq -r 'select(.binary_name == "<binary>") | input_filename' ${CLAUDE_SKILL_DIR}/../../catalog/*.json 将二进制映射到工具名;安装命令为 ${CLAUDE_SKILL_DIR}/../../scripts/install_tool.sh <tool> install,随后用 type -P <binary> 和 <binary> --version 验证。
- 操作动作:install_tool.sh <tool> <action>,action 可为 install(默认)、update、uninstall、reconcile(切换到首选安装方式并删除另一份)、status。
- 环境审计:check_environment.sh audit <project_dir> 检查 PATH 问题、重复安装、包管理器与必需工具;detect_project_type.sh json <project_dir> 输出项目类型及所需和推荐工具。
- 批量更新:auto_update.sh update 更新所有检测到的包管理器及其包,加 DRY_RUN=1 可预览。
- 推荐现代工具替换旧用法:grep -r→rg,find→fd,grep on JSON→jq,sed on YAML→yq,cat→bat,diff→difft,time→hyperfine,cloc→tokei/scc,awk on CSV→qsv,sed on TOML→dasel,grep for security→semgrep。
限制与注意:脚本仅需 bash 与 jq 即可运行;缺少 Python 环境时用户配置回退默认值且安装后不刷新审计快照,audit.py 需通过 uv run --project ${CLAUDE_SKILL_DIR}/../.. python ${CLAUDE_SKILL_DIR}/../../audit.py 运行。常见问题包括已安装但找不到(hash -r 或加入 PATH)、无 sudo(cargo install、uv tool install、发布二进制,或 Debian/Ubuntu 上 apt-get download + dpkg -x)、Debian 下 bat 为 batcat、fd 为 fdfind(可符号链接到 ~/.local/bin/)、全局 npm 安装不在 PATH。注意智能体 shell 中的 grep 实为 ugrep,会跳过 .gitignored 文件且 grep -q -v 行为不同;执行状态、计数或空结果判断前应参考 references/shell-pitfalls.md 避免陷阱。
适用场景:智能体开发环境初始化、项目环境审计、命令找不到排查、批量更新工具链。官方与其他细节暂未提供。