SuperAPI AI 工具集

setperms

编程与开发

查看项目

更新于 10-13 17:07

技能介绍

用途

setperms 用于初始化 Claude Code 的工具权限与偏好配置,把它配置为一套「现代 dev-shell-tools」开发环境。它会在当前项目的 .claude/ 目录中生成权限文件与规则文件,使 Claude Code 自动批准常用命令行工具,并按规则优先使用现代替代工具。

主要能力

  1. 权限配置(.claude/settings.local.json) 写入 permissions.allow 白名单,预批准一组命令行工具;permissions.ask 为危险 git 操作设置确认门;permissions.deny 默认为空。hooks 默认为空对象。 默认白名单涵盖:
  • Git 与代码托管:git、lazygit、gh、delta、difft
  • 文件操作:ls、mkdir、cat、wc、tree、eza、bat、chmod
  • 搜索:rg(ripgrep)、fd、fzf、ast-grep/sg
  • 导航:zoxide/z、broot/br
  • 数据处理:jq、yq、sd、xargs
  • 分析:tokei、procs、hyperfine、dust
  • 包管理与运行时:npm、npx、node、pnpm、yarn、bun、python、uv、pip、cargo、go、brew
  • 构建:just、make、bash、rustc
  • 网络:curl、http(httpie)、firecrawl、markitdown
  • 容器:docker、docker-compose
  • 压缩:tar、zip、unzip
  • 测试:pytest
  • 文本数据:sort、uniq、cut、tr、xargs、tee、head、tail、diff
  • 文档:tldr
  • Windows:powershell -Command、powershell.exe
  • AI CLI:gemini、claude、codex、perplexity
  1. git 安全护栏(ask 列表) 以下破坏性 git 命令需要先确认:git reset --hard、git checkout -- :、git clean -f、git stash drop、git stash clear、git restore --worktree、git push --force、git push -f、git push origin --force、git push origin -f、git branch -D。

  2. 强制保护 settings.local.json(secret-safety) 确保仓库根目录 .gitignore 排除 .claude/settings.local.json;若该文件已被 git 跟踪,则执行 git rm --cached 停止跟踪(保留本地文件)。若项目没有 git 仓库则静默跳过。

  3. 规则配置(.claude/rules/cli-tools.md) 写入工具偏好指令,要求 Claude 优先使用现代工具,例如:用 fd 代替 find、rg 代替 grep、eza 代替 ls、bat 代替 cat、z/zoxide 代替 cd、eza --tree 代替 tree;用 sd 代替 sed、jq 处理 JSON、yq 处理 YAML;用 delta/difft 代替 git diff、lazygit 代替手工 git、gh 代替 GitHub 网页;代码分析用 tokei、ast-grep/sg、hyperfine、dust;系统监控用 dust 代替 du -h、btm(bottom)代替 top/htop;文档用 tldr 代替 man;Python 用 uv 代替 pip、uv venv 代替 python -m venv;任务运行优先 just 而非 Makefile。 网页抓取优先级:1)WebFetch(内置、快速,首先尝试);2)r.jina.ai/URL(JS 渲染页面、提取更干净);3)firecrawl(绕过反爬、被封站点)。 AI CLI 工具用途:gemini(Gemini 2.5,2M 上下文,大体量代码库)、claude(编码与分析)、codex(深度推理)、perplexity(网页搜索与最新信息)。 规则文件还包含 git 安全说明及破坏性命令的安全替代建议:git reset --hard 前先 git stash;git checkout -- <file> 前先 git stash 或 git diff;git clean -fd 前先 git clean -n 干跑;git stash drop 前先查看 git stash list;git push --force 改用 git push --force-with-lease;git branch -D 改用 git branch -d。并建议破坏性操作前依次执行 git status、git diff、git stash,并优先使用 dry-run 参数。

使用方式

执行 /setperms 命令触发。执行流程:

  1. 检查是否存在 .claude/settings.local.json 与 .claude/rules/cli-tools.md;若存在则询问:Overwrite(完全替换)或 Skip(保留现有,不做操作)。
  2. 创建目录:mkdir -p .claude/rules。
  3. 写入 .claude/settings.local.json 权限文件。
  4. 确保 .gitignore 排除 settings.local.json,必要时停止 git 跟踪。
  5. 写入 .claude/rules/cli-tools.md 规则文件。
  6. 向用户报告:已创建两个文件(74 项工具权限、11 项护栏),Claude 将自动批准 dev-shell-tools 命令、优先现代工具、使用 AI CLI 做多模型分析、在执行破坏性 git 命令前询问。 自定义方式:编辑 .claude/ 下的文件;纳入 git:git add .claude/。

可用选项:

  • --force:覆盖现有文件且不询问
  • --perms-only:只安装权限,跳过规则
  • --rules-only:只安装规则,跳过权限
  • --minimal:最小权限(仅 git、ls、cat、mkdir)
  • --full:增加云与容器工具(docker、kubectl、terraform 等),具体附加项:podman、kubectl、helm、terraform、pulumi、aws、gcloud、az、wrangler、flyctl、railway
  • --no-guardrails:跳过 git 安全护栏(ask 列表置空)

适用场景

  • 首次在项目中配置 Claude Code,希望一次性预批准常用开发命令。
  • 希望 Claude Code 优先使用 fd、rg、bat、eza、sd、jq、yq、uv、just 等现代工具。
  • 希望为破坏性 git 命令增加确认门,并防止 settings.local.json 泄露密钥。
  • 需要在多 AI CLI(gemini、claude、codex、perplexity)之间进行多模型分析时统一工具入口。

限制与注意事项

  • 权限为项目本地,不影响其它项目;全局设置 ~/.claude/ 仍然生效。
  • 规则仅是「指示 Claude 优先使用现代工具」,不代表这些工具在系统上一定已安装。
  • 变更在下次工具调用时生效,无需重启。
  • 工具来源为 https://github.com/0xDarkMatter/dev-shell-tools。
  • 关于具体收费、价格、平台支持范围等,资料未提供。