用途:把一组经过筛选的安全权限规则合并进 Claude Code 的 settings 文件,同时纳入当前已连接的只读 MCP 工具,减少日常只读与开发操作时的权限提示。
主要能力:默认目标为 .claude/settings.json(提交、团队共享),也可选择 .claude/settings.local.json(个人、被 gitignore)或 ~/.claude/settings.json(全局)。合并过程确定且幂等,不删除已有条目,不添加破坏性命令。
使用方式:先确认目标文件;构建条目列表,来源为 ALLOWLIST.md 中的 Bash 与 MCP 条目,加上实时 MCP 枚举(用 ToolSearch 做宽泛查询,并查看 .mcp.json 的服务器名),按 ALLOWLIST.md 规则分类,只添加只读工具。随后把换行分隔的条目通过管道传入脚本:node .claude/skills/configure-allowlist/scripts/merge-allow.mjs <target-file> < entries.txt。脚本会去重、保留已有键与条目、写出合法 JSON,并把完整允许列表整理为排序分组(Bash 只读 → git → 安全写入 → 开发服务器 → 按服务器分组的 MCP);空输入运行只做重新排序。最后校验脚本输出 valid、added N、skipped M,若报错说明 JSON 格式有误,修正后重跑,并报告新增内容。
范围与限制:默认包含查询/查看(ls、cat、grep、find、git status/log/diff 等)、导航(cd、pwd、mkdir)与安全写入(npm/pnpm install|build|test|lint、git add/commit)。绝不添加破坏性命令(如 rm、rmdir、mv、git push/reset --hard/clean/rebase/checkout --、chmod、chown、sudo、dd、kill、npm publish、输出重定向到文件、curl/wget POST),即使被要求也需先确认。规则采用前缀通配形式,如 Bash(git status *)、Bash(npm view *);MCP 工具为裸名,如 mcp__convex__tables,每行一条。由 &&、||、;、| 连接的复合命令按段匹配,只有每段都命中允许规则才免提示,因此建议允许用户实际串联的单个命令。开发服务器命令(pnpm web/dev/start)为长时运行,需以 run_in_background: true 运行。其他细节暂未提供。