setperms by 0xdarkmatter/claude-mods
npx skills add https://github.com/0xdarkmatter/claude-mods --skill setperms为 Claude Code 初始化现代 dev-shell-tools,以获得舒适的开发体验。
安装完整的开发环境设置:
.claude/settings.local.json) - 预先批准的 CLI 工具.claude/rules/cli-tools.md) - 优先使用现代工具的指令工具来自 dev-shell-tools:
核心工具:
开发工具:
Initialize Claude Code with modern dev-shell-tools for a comfortable development experience.
Installs complete dev environment setup:
.claude/settings.local.json) - Pre-approved CLI tools.claude/rules/cli-tools.md) - Instructions to prefer modern toolsTools from dev-shell-tools:
Core Tools:
Dev Tools:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
AI CLI 工具:
/setperms
|
+-- 检查是否存在 .claude/ 文件
| +-- 如果存在:询问是否覆盖或跳过
| +-- 如果不存在:继续执行
|
+-- 创建 .claude 目录
+-- 创建 .claude/rules 目录
|
+-- 写入 settings.local.json (权限)
+-- 写入 rules/cli-tools.md (工具偏好)
ls -la .claude/settings.local.json 2>/dev/null
ls -la .claude/rules/cli-tools.md 2>/dev/null
如果文件存在,询问用户:
mkdir -p .claude/rules
写入 .claude/settings.local.json:
{
"permissions": {
"allow": [
"Bash(git:*)",
"Bash(ls:*)",
"Bash(mkdir:*)",
"Bash(cat:*)",
"Bash(wc:*)",
"Bash(tree:*)",
"Bash(curl:*)",
"Bash(rg:*)",
"Bash(fd:*)",
"Bash(fzf:*)",
"Bash(z:*)",
"Bash(zoxide:*)",
"Bash(br:*)",
"Bash(broot:*)",
"Bash(ast-grep:*)",
"Bash(sg:*)",
"Bash(bat:*)",
"Bash(eza:*)",
"Bash(delta:*)",
"Bash(difft:*)",
"Bash(jq:*)",
"Bash(yq:*)",
"Bash(sd:*)",
"Bash(lazygit:*)",
"Bash(gh:*)",
"Bash(tokei:*)",
"Bash(uv:*)",
"Bash(just:*)",
"Bash(http:*)",
"Bash(procs:*)",
"Bash(hyperfine:*)",
"Bash(npm:*)",
"Bash(node:*)",
"Bash(python:*)",
"Bash(pip:*)",
"Bash(powershell -Command:*)",
"Bash(powershell.exe:*)",
"Bash(bash:*)",
"Bash(chmod:*)",
"Bash(xargs:*)",
"Bash(command -v:*)",
"Bash(brew:*)",
"Bash(tldr:*)",
"Bash(dust:*)",
"Bash(btm:*)",
"Bash(bottom:*)",
"Bash(firecrawl:*)",
"Bash(gemini:*)",
"Bash(claude:*)",
"Bash(codex:*)",
"Bash(perplexity:*)"
],
"deny": [],
"ask": [
"Bash(git reset --hard:*)",
"Bash(git checkout -- :*)",
"Bash(git clean -f:*)",
"Bash(git stash drop:*)",
"Bash(git stash clear:*)",
"Bash(git restore --worktree:*)",
"Bash(git push --force:*)",
"Bash(git push -f:*)",
"Bash(git push origin --force:*)",
"Bash(git push origin -f:*)",
"Bash(git branch -D:*)"
]
},
"hooks": {}
}
写入 .claude/rules/cli-tools.md:
# CLI 工具偏好 (dev-shell-tools)
始终优先使用现代 CLI 工具而非传统替代品。
## 文件搜索与导航
| 替代品 | 使用 | 原因 |
|------------|-----|-----|
| `find` | `fd` | 速度快 5 倍,尊重 .gitignore |
| `grep` | `rg` (ripgrep) | 速度快 10 倍,尊重 .gitignore |
| `ls` | `eza` | Git 状态,树状视图 |
| `cat` | `bat` | 语法高亮 |
| `cd` + 手动 | `z`/`zoxide` | 常用目录 |
| `tree` | `eza --tree` | 交互式 |
## 数据处理
| 替代品 | 使用 |
|------------|-----|
| `sed` | `sd` |
| 手动处理 JSON | `jq` |
| 手动处理 YAML | `yq` |
## Git 操作
| 替代品 | 使用 |
|------------|-----|
| `git diff` | `delta` 或 `difft` |
| 手动 git | `lazygit` |
| GitHub 网页 | `gh` |
## 代码分析
- 行数统计: `tokei`
- AST 搜索: `ast-grep` / `sg`
- 基准测试: `hyperfine`
- 磁盘使用: `dust`
## 系统监控
| 替代品 | 使用 |
|------------|-----|
| `du -h` | `dust` |
| `top`/`htop` | `btm` (bottom) |
## 文档
| 替代品 | 使用 |
|------------|-----|
| `man <cmd>` | `tldr <cmd>` |
## Python
| 替代品 | 使用 |
|------------|-----|
| `pip` | `uv` |
| `python -m venv` | `uv venv` |
## 任务运行
优先使用 `just` 而非 Makefiles。
## 网页抓取
| 优先级 | 工具 | 使用时机 |
|----------|------|-------------|
| 1 | `WebFetch` | 首次尝试 - 快速,内置 |
| 2 | `r.jina.ai/URL` | JS 渲染页面,更干净的提取 |
| 3 | `firecrawl <url>` | 绕过反爬虫,被屏蔽的网站 |
## AI CLI 工具
用于多模型分析:
| 工具 | 模型 | 最适合 |
|------|-------|----------|
| `gemini` | Gemini 2.5 | 2M 上下文,大型代码库 |
| `claude` | Claude | 编码,分析 |
| `codex` | OpenAI | 深度推理 |
| `perplexity` | Perplexity | 网络搜索,最新信息 |
## Git 安全
破坏性命令需要确认(在 "ask" 列表中):
| 命令 | 风险 | 安全替代方案 |
|---------|------|------------------|
| `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` (安全删除) |
**执行破坏性操作前:**
1. 检查状态: `git status`
2. 检查未提交的更改: `git diff`
3. 考虑存储: `git stash`
4. 在可用时使用试运行标志
参考:https://github.com/0xDarkMatter/dev-shell-tools
向用户报告:
已使用 dev-shell-tools 初始化 Claude Code:
已创建:
.claude/settings.local.json (51 个工具权限,11 个防护栏)
.claude/rules/cli-tools.md (现代工具偏好)
Claude 现在将:
- 自动批准 dev-shell-tools 命令
- 优先使用 fd 而非 find,rg 而非 grep,bat 而非 cat 等
- 使用 AI CLI 进行多模型分析
- 在执行破坏性 git 命令前询问 (reset --hard, push --force 等)
要自定义:编辑 .claude/ 中的文件
要添加到 git:git add .claude/
| 标志 | 效果 |
|---|---|
--force | 覆盖现有文件而不询问 |
--perms-only | 仅安装权限,跳过规则 |
--rules-only | 仅安装规则,跳过权限 |
--minimal | 最小权限 (仅 git, ls, cat, mkdir) |
--full | 添加云/容器工具 (docker, kubectl, terraform 等) |
--no-guardrails | 跳过 git 安全防护栏 (清空 "ask" 列表) |
添加到权限中:
"Bash(docker:*)",
"Bash(docker-compose:*)",
"Bash(podman:*)",
"Bash(kubectl:*)",
"Bash(helm:*)",
"Bash(terraform:*)",
"Bash(pulumi:*)",
"Bash(aws:*)",
"Bash(gcloud:*)",
"Bash(az:*)",
"Bash(wrangler:*)",
"Bash(flyctl:*)",
"Bash(railway:*)"
~/.claude/ 中的全局设置仍然适用每周安装次数
15
仓库
GitHub 星标数
8
首次出现
2026年1月25日
安全审计
安装于
gemini-cli15
claude-code15
opencode15
codex14
cursor13
antigravity12
AI CLI Tools:
/setperms
|
+-- Check for existing .claude/ files
| +-- If exists: Ask to overwrite or skip
| +-- If not: Proceed
|
+-- Create .claude directory
+-- Create .claude/rules directory
|
+-- Write settings.local.json (permissions)
+-- Write rules/cli-tools.md (tool preferences)
ls -la .claude/settings.local.json 2>/dev/null
ls -la .claude/rules/cli-tools.md 2>/dev/null
If files exist, ask user:
mkdir -p .claude/rules
Write to .claude/settings.local.json:
{
"permissions": {
"allow": [
"Bash(git:*)",
"Bash(ls:*)",
"Bash(mkdir:*)",
"Bash(cat:*)",
"Bash(wc:*)",
"Bash(tree:*)",
"Bash(curl:*)",
"Bash(rg:*)",
"Bash(fd:*)",
"Bash(fzf:*)",
"Bash(z:*)",
"Bash(zoxide:*)",
"Bash(br:*)",
"Bash(broot:*)",
"Bash(ast-grep:*)",
"Bash(sg:*)",
"Bash(bat:*)",
"Bash(eza:*)",
"Bash(delta:*)",
"Bash(difft:*)",
"Bash(jq:*)",
"Bash(yq:*)",
"Bash(sd:*)",
"Bash(lazygit:*)",
"Bash(gh:*)",
"Bash(tokei:*)",
"Bash(uv:*)",
"Bash(just:*)",
"Bash(http:*)",
"Bash(procs:*)",
"Bash(hyperfine:*)",
"Bash(npm:*)",
"Bash(node:*)",
"Bash(python:*)",
"Bash(pip:*)",
"Bash(powershell -Command:*)",
"Bash(powershell.exe:*)",
"Bash(bash:*)",
"Bash(chmod:*)",
"Bash(xargs:*)",
"Bash(command -v:*)",
"Bash(brew:*)",
"Bash(tldr:*)",
"Bash(dust:*)",
"Bash(btm:*)",
"Bash(bottom:*)",
"Bash(firecrawl:*)",
"Bash(gemini:*)",
"Bash(claude:*)",
"Bash(codex:*)",
"Bash(perplexity:*)"
],
"deny": [],
"ask": [
"Bash(git reset --hard:*)",
"Bash(git checkout -- :*)",
"Bash(git clean -f:*)",
"Bash(git stash drop:*)",
"Bash(git stash clear:*)",
"Bash(git restore --worktree:*)",
"Bash(git push --force:*)",
"Bash(git push -f:*)",
"Bash(git push origin --force:*)",
"Bash(git push origin -f:*)",
"Bash(git branch -D:*)"
]
},
"hooks": {}
}
Write to .claude/rules/cli-tools.md:
# CLI Tool Preferences (dev-shell-tools)
ALWAYS prefer modern CLI tools over traditional alternatives.
## File Search & Navigation
| Instead of | Use | Why |
|------------|-----|-----|
| `find` | `fd` | 5x faster, respects .gitignore |
| `grep` | `rg` (ripgrep) | 10x faster, respects .gitignore |
| `ls` | `eza` | Git status, tree view |
| `cat` | `bat` | Syntax highlighting |
| `cd` + manual | `z`/`zoxide` | Frecent directories |
| `tree` | `eza --tree` | Interactive |
## Data Processing
| Instead of | Use |
|------------|-----|
| `sed` | `sd` |
| Manual JSON | `jq` |
| Manual YAML | `yq` |
## Git Operations
| Instead of | Use |
|------------|-----|
| `git diff` | `delta` or `difft` |
| Manual git | `lazygit` |
| GitHub web | `gh` |
## Code Analysis
- Line counts: `tokei`
- AST search: `ast-grep` / `sg`
- Benchmarks: `hyperfine`
- Disk usage: `dust`
## System Monitoring
| Instead of | Use |
|------------|-----|
| `du -h` | `dust` |
| `top`/`htop` | `btm` (bottom) |
## Documentation
| Instead of | Use |
|------------|-----|
| `man <cmd>` | `tldr <cmd>` |
## Python
| Instead of | Use |
|------------|-----|
| `pip` | `uv` |
| `python -m venv` | `uv venv` |
## Task Running
Prefer `just` over Makefiles.
## Web Fetching
| Priority | Tool | When to Use |
|----------|------|-------------|
| 1 | `WebFetch` | First attempt - fast, built-in |
| 2 | `r.jina.ai/URL` | JS-rendered pages, cleaner extraction |
| 3 | `firecrawl <url>` | Anti-bot bypass, blocked sites |
## AI CLI Tools
For multi-model analysis:
| Tool | Model | Best For |
|------|-------|----------|
| `gemini` | Gemini 2.5 | 2M context, large codebases |
| `claude` | Claude | Coding, analysis |
| `codex` | OpenAI | Deep reasoning |
| `perplexity` | Perplexity | Web search, current info |
## Git Safety
Destructive commands require confirmation (in "ask" list):
| Command | Risk | Safe Alternative |
|---------|------|------------------|
| `git reset --hard` | Loses uncommitted changes | `git stash` first |
| `git checkout -- <file>` | Discards file changes | `git stash` or `git diff` first |
| `git clean -fd` | Deletes untracked files | `git clean -n` (dry run) first |
| `git stash drop` | Permanently deletes stash | Check `git stash list` first |
| `git push --force` | Overwrites remote history | `git push --force-with-lease` |
| `git branch -D` | Deletes unmerged branch | `git branch -d` (safe delete) |
**Before destructive operations:**
1. Check status: `git status`
2. Check for uncommitted changes: `git diff`
3. Consider stashing: `git stash`
4. Use dry-run flags when available
Reference: https://github.com/0xDarkMatter/dev-shell-tools
Report to user:
Initialized Claude Code with dev-shell-tools:
Created:
.claude/settings.local.json (51 tool permissions, 11 guardrails)
.claude/rules/cli-tools.md (modern tool preferences)
Claude will now:
- Auto-approve dev-shell-tools commands
- Prefer fd over find, rg over grep, bat over cat, etc.
- Use AI CLIs for multi-model analysis
- Ask before destructive git commands (reset --hard, push --force, etc.)
To customize: edit files in .claude/
To add to git: git add .claude/
| Flag | Effect |
|---|---|
--force | Overwrite existing without asking |
--perms-only | Only install permissions, skip rules |
--rules-only | Only install rules, skip permissions |
--minimal | Minimal permissions (git, ls, cat, mkdir only) |
--full | Add cloud/container tools (docker, kubectl, terraform, etc.) |
--no-guardrails | Skip git safety guardrails (empty "ask" list) |
Adds to permissions:
"Bash(docker:*)",
"Bash(docker-compose:*)",
"Bash(podman:*)",
"Bash(kubectl:*)",
"Bash(helm:*)",
"Bash(terraform:*)",
"Bash(pulumi:*)",
"Bash(aws:*)",
"Bash(gcloud:*)",
"Bash(az:*)",
"Bash(wrangler:*)",
"Bash(flyctl:*)",
"Bash(railway:*)"
~/.claude/ still applyWeekly Installs
15
Repository
GitHub Stars
8
First Seen
Jan 25, 2026
Security Audits
Installed on
gemini-cli15
claude-code15
opencode15
codex14
cursor13
antigravity12
AI新闻播客制作技能:实时新闻转对话式播客脚本与音频生成
1,200 周安装