claude-settings-audit by getsentry/skills
npx skills add https://github.com/getsentry/skills --skill claude-settings-audit分析此代码库并生成推荐的 Claude Code settings.json 只读命令权限。
运行以下命令以检测代码库结构:
ls -la
find . -maxdepth 2 \( -name "*.toml" -o -name "*.json" -o -name "*.lock" -o -name "*.yaml" -o -name "*.yml" -o -name "Makefile" -o -name "Dockerfile" -o -name "*.tf" \) 2>/dev/null | head -50
检查以下指示性文件:
| 类别 | 需检查的文件 |
|---|---|
| Python | pyproject.toml, setup.py, requirements.txt, Pipfile, , |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
poetry.lockuv.lock| Node.js | package.json, package-lock.json, yarn.lock, pnpm-lock.yaml |
| Go | go.mod, go.sum |
| Rust | Cargo.toml, Cargo.lock |
| Ruby | Gemfile, Gemfile.lock |
| Java | pom.xml, build.gradle, build.gradle.kts |
| Build | Makefile, Dockerfile, docker-compose.yml |
| Infra | *.tf 文件, kubernetes/, helm/ |
| Monorepo | lerna.json, nx.json, turbo.json, pnpm-workspace.yaml |
检查服务集成:
| 服务 | 检测方法 |
|---|---|
| Sentry | 依赖项中的 sentry-sdk、@sentry/* 包、.sentryclirc、sentry.properties |
| Linear | Linear 配置文件、.linear/ 目录 |
读取依赖文件以识别框架:
package.json → 检查 dependencies 和 devDependenciespyproject.toml → 检查 [project.dependencies] 或 [tool.poetry.dependencies]Gemfile → 检查 gem 名称Cargo.toml → 检查 [dependencies]cat .claude/settings.json 2>/dev/null || echo "No existing settings"
通过组合以下内容构建允许列表:
[
"Bash(ls:*)",
"Bash(pwd:*)",
"Bash(find:*)",
"Bash(file:*)",
"Bash(stat:*)",
"Bash(wc:*)",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(cat:*)",
"Bash(tree:*)",
"Bash(git status:*)",
"Bash(git log:*)",
"Bash(git diff:*)",
"Bash(git show:*)",
"Bash(git branch:*)",
"Bash(git remote:*)",
"Bash(git tag:*)",
"Bash(git stash list:*)",
"Bash(git rev-parse:*)",
"Bash(gh pr view:*)",
"Bash(gh pr list:*)",
"Bash(gh pr checks:*)",
"Bash(gh pr diff:*)",
"Bash(gh issue view:*)",
"Bash(gh issue list:*)",
"Bash(gh run view:*)",
"Bash(gh run list:*)",
"Bash(gh run logs:*)",
"Bash(gh repo view:*)",
"Bash(gh api:*)"
]
仅包含项目中实际检测到的工具的命令。
| 如果检测到 | 添加这些命令 |
|---|---|
| 任何 Python | python --version, python3 --version |
poetry.lock | poetry show, poetry env info |
uv.lock | uv pip list, uv tree |
Pipfile.lock | pipenv graph |
requirements.txt(无其他 lock 文件) | pip list, pip show, pip freeze |
| 如果检测到 | 添加这些命令 |
|---|---|
| 任何 Node.js | node --version |
pnpm-lock.yaml | pnpm list, pnpm why |
yarn.lock | yarn list, yarn info, yarn why |
package-lock.json | npm list, npm view, npm outdated |
TypeScript (tsconfig.json) | tsc --version |
| 如果检测到 | 添加这些命令 |
|---|---|
go.mod | go version, go list, go mod graph, go env |
Cargo.toml | rustc --version, cargo --version, cargo tree, cargo metadata |
Gemfile | ruby --version, bundle list, bundle show |
pom.xml | java --version, mvn --version, mvn dependency:tree |
build.gradle | java --version, gradle --version, gradle dependencies |
| 如果检测到 | 添加这些命令 |
|---|---|
Dockerfile | docker --version, docker ps, docker images |
docker-compose.yml | docker-compose ps, docker-compose config |
*.tf 文件 | terraform --version, terraform providers, terraform state list |
Makefile | make --version, make -n |
如果这是 Sentry 项目(或安装了 sentry-skills 插件),请包含:
[
"Skill(sentry-skills:agents-md)",
"Skill(sentry-skills:blog-writing-guide)",
"Skill(sentry-skills:brand-guidelines)",
"Skill(sentry-skills:claude-settings-audit)",
"Skill(sentry-skills:code-review)",
"Skill(sentry-skills:code-simplifier)",
"Skill(sentry-skills:commit)",
"Skill(sentry-skills:create-branch)",
"Skill(sentry-skills:create-pr)",
"Skill(sentry-skills:django-access-review)",
"Skill(sentry-skills:django-perf-review)",
"Skill(sentry-skills:doc-coauthoring)",
"Skill(sentry-skills:find-bugs)",
"Skill(sentry-skills:gh-review-requests)",
"Skill(sentry-skills:gha-security-review)",
"Skill(sentry-skills:iterate-pr)",
"Skill(sentry-skills:pr-writer)",
"Skill(sentry-skills:security-review)",
"Skill(sentry-skills:skill-creator)",
"Skill(sentry-skills:skill-scanner)",
"Skill(sentry-skills:skill-writer)",
"Skill(sentry-skills:sred-project-organizer)",
"Skill(sentry-skills:sred-work-summary)"
]
[
"WebFetch(domain:docs.sentry.io)",
"WebFetch(domain:develop.sentry.dev)",
"WebFetch(domain:docs.github.com)",
"WebFetch(domain:cli.github.com)"
]
| 如果检测到 | 添加域名 |
|---|---|
| Django | docs.djangoproject.com |
| Flask | flask.palletsprojects.com |
| FastAPI | fastapi.tiangolo.com |
| React | react.dev |
| Next.js | nextjs.org |
| Vue | vuejs.org |
| Express | expressjs.com |
| Rails | guides.rubyonrails.org, api.rubyonrails.org |
| Go | pkg.go.dev |
| Rust | docs.rs, doc.rust-lang.org |
| Docker | docs.docker.com |
| Kubernetes | kubernetes.io |
| Terraform | registry.terraform.io |
MCP 服务器在 .mcp.json 中配置(而非 settings.json)。检查现有配置:
cat .mcp.json 2>/dev/null || echo "No existing .mcp.json"
添加到 .mcp.json(将 {org-slug} 和 {project-slug} 替换为您的 Sentry 组织和项目 slug):
{
"mcpServers": {
"sentry": {
"type": "http",
"url": "https://mcp.sentry.dev/mcp/{org-slug}/{project-slug}"
}
}
}
添加到 .mcp.json:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@linear/mcp-server"],
"env": {
"LINEAR_API_KEY": "${LINEAR_API_KEY}"
}
}
}
}
注意:永远不要建议 GitHub MCP。始终使用 gh CLI 命令处理 GitHub。
按以下方式呈现您的发现:
示例输出结构:
## 检测到的技术栈
| 类别 | 发现内容 |
| --------------- | -------------- |
| 语言 | Python 3.x |
| 包管理器 | poetry |
| 框架 | Django, Celery |
| 服务 | Sentry |
| 构建工具 | Docker, Make |
## 推荐的 .claude/settings.json
\`\`\`json
{
"permissions": {
"allow": [
// ... 按类别分组并带有注释
],
"deny": []
}
}
\`\`\`
## 推荐的 .mcp.json(如果适用)
如果您使用 Sentry 或 Linear,请将 MCP 配置添加到 `.mcp.json`...
:* 后缀允许任何参数传递给基础命令/home/user/scripts/foo 或 /Users/name/bin/bar./scripts/deploy.sh)的项目脚本仅包含项目实际使用的包管理器:
| 如果检测到 | 包含 | 不要包含 |
|---|---|---|
pnpm-lock.yaml | pnpm 命令 | npm, yarn |
yarn.lock | yarn 命令 | npm, pnpm |
package-lock.json | npm 命令 | yarn, pnpm |
poetry.lock | poetry 命令 | pip(除非同时有 requirements.txt) |
uv.lock | uv 命令 | pip, poetry |
Pipfile.lock | pipenv 命令 | pip, poetry |
如果存在多个 lock 文件,仅包含每个检测到的管理器的命令。
每周安装次数
298
代码库
GitHub 星标数
454
首次出现
2026年1月23日
安全审计
安装于
claude-code256
gemini-cli254
opencode253
codex252
github-copilot248
cursor235
Analyze this repository and generate recommended Claude Code settings.json permissions for read-only commands.
Run these commands to detect the repository structure:
ls -la
find . -maxdepth 2 \( -name "*.toml" -o -name "*.json" -o -name "*.lock" -o -name "*.yaml" -o -name "*.yml" -o -name "Makefile" -o -name "Dockerfile" -o -name "*.tf" \) 2>/dev/null | head -50
Check for these indicator files:
| Category | Files to Check |
|---|---|
| Python | pyproject.toml, setup.py, requirements.txt, Pipfile, poetry.lock, uv.lock |
| Node.js | package.json, package-lock.json, yarn.lock, pnpm-lock.yaml |
| Go | go.mod, go.sum |
| Rust | Cargo.toml, Cargo.lock |
| Ruby | Gemfile, Gemfile.lock |
| Java | pom.xml, build.gradle, build.gradle.kts |
| Build | Makefile, Dockerfile, docker-compose.yml |
| Infra | *.tf files, kubernetes/, helm/ |
| Monorepo | lerna.json, nx.json, turbo.json, pnpm-workspace.yaml |
Check for service integrations:
| Service | Detection |
|---|---|
| Sentry | sentry-sdk in deps, @sentry/* packages, .sentryclirc, sentry.properties |
| Linear | Linear config files, .linear/ directory |
Read dependency files to identify frameworks:
package.json → check dependencies and devDependenciespyproject.toml → check [project.dependencies] or [tool.poetry.dependencies]Gemfile → check gem namesCargo.toml → check [dependencies]cat .claude/settings.json 2>/dev/null || echo "No existing settings"
Build the allow list by combining:
[
"Bash(ls:*)",
"Bash(pwd:*)",
"Bash(find:*)",
"Bash(file:*)",
"Bash(stat:*)",
"Bash(wc:*)",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(cat:*)",
"Bash(tree:*)",
"Bash(git status:*)",
"Bash(git log:*)",
"Bash(git diff:*)",
"Bash(git show:*)",
"Bash(git branch:*)",
"Bash(git remote:*)",
"Bash(git tag:*)",
"Bash(git stash list:*)",
"Bash(git rev-parse:*)",
"Bash(gh pr view:*)",
"Bash(gh pr list:*)",
"Bash(gh pr checks:*)",
"Bash(gh pr diff:*)",
"Bash(gh issue view:*)",
"Bash(gh issue list:*)",
"Bash(gh run view:*)",
"Bash(gh run list:*)",
"Bash(gh run logs:*)",
"Bash(gh repo view:*)",
"Bash(gh api:*)"
]
Only include commands for tools actually detected in the project.
| If Detected | Add These Commands |
|---|---|
| Any Python | python --version, python3 --version |
poetry.lock | poetry show, poetry env info |
uv.lock | uv pip list, uv tree |
| If Detected | Add These Commands |
|---|---|
| Any Node.js | node --version |
pnpm-lock.yaml | pnpm list, pnpm why |
yarn.lock | yarn list, yarn info, yarn why |
| If Detected | Add These Commands |
|---|---|
go.mod | go version, go list, go mod graph, go env |
Cargo.toml | rustc --version, cargo --version, cargo tree, |
| If Detected | Add These Commands |
|---|---|
Dockerfile | docker --version, docker ps, docker images |
docker-compose.yml | docker-compose ps, docker-compose config |
*.tf files | terraform --version, , |
If this is a Sentry project (or sentry-skills plugin is installed), include:
[
"Skill(sentry-skills:agents-md)",
"Skill(sentry-skills:blog-writing-guide)",
"Skill(sentry-skills:brand-guidelines)",
"Skill(sentry-skills:claude-settings-audit)",
"Skill(sentry-skills:code-review)",
"Skill(sentry-skills:code-simplifier)",
"Skill(sentry-skills:commit)",
"Skill(sentry-skills:create-branch)",
"Skill(sentry-skills:create-pr)",
"Skill(sentry-skills:django-access-review)",
"Skill(sentry-skills:django-perf-review)",
"Skill(sentry-skills:doc-coauthoring)",
"Skill(sentry-skills:find-bugs)",
"Skill(sentry-skills:gh-review-requests)",
"Skill(sentry-skills:gha-security-review)",
"Skill(sentry-skills:iterate-pr)",
"Skill(sentry-skills:pr-writer)",
"Skill(sentry-skills:security-review)",
"Skill(sentry-skills:skill-creator)",
"Skill(sentry-skills:skill-scanner)",
"Skill(sentry-skills:skill-writer)",
"Skill(sentry-skills:sred-project-organizer)",
"Skill(sentry-skills:sred-work-summary)"
]
[
"WebFetch(domain:docs.sentry.io)",
"WebFetch(domain:develop.sentry.dev)",
"WebFetch(domain:docs.github.com)",
"WebFetch(domain:cli.github.com)"
]
| If Detected | Add Domains |
|---|---|
| Django | docs.djangoproject.com |
| Flask | flask.palletsprojects.com |
| FastAPI | fastapi.tiangolo.com |
| React | react.dev |
| Next.js | nextjs.org |
| Vue |
MCP servers are configured in .mcp.json (not settings.json). Check for existing config:
cat .mcp.json 2>/dev/null || echo "No existing .mcp.json"
Add to .mcp.json (replace {org-slug} and {project-slug} with your Sentry organization and project slugs):
{
"mcpServers": {
"sentry": {
"type": "http",
"url": "https://mcp.sentry.dev/mcp/{org-slug}/{project-slug}"
}
}
}
Add to .mcp.json:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@linear/mcp-server"],
"env": {
"LINEAR_API_KEY": "${LINEAR_API_KEY}"
}
}
}
}
Note : Never suggest GitHub MCP. Always use gh CLI commands for GitHub.
Present your findings as:
Example output structure:
## Detected Tech Stack
| Category | Found |
| --------------- | -------------- |
| Languages | Python 3.x |
| Package Manager | poetry |
| Frameworks | Django, Celery |
| Services | Sentry |
| Build Tools | Docker, Make |
## Recommended .claude/settings.json
\`\`\`json
{
"permissions": {
"allow": [
// ... grouped by category with comments
],
"deny": []
}
}
\`\`\`
## Recommended .mcp.json (if applicable)
If you use Sentry or Linear, add the MCP config to `.mcp.json`...
:* suffix allows any arguments to the base command/home/user/scripts/foo or /Users/name/bin/bar./scripts/deploy.sh)Only include the package manager actually used by the project:
| If Detected | Include | Do NOT Include |
|---|---|---|
pnpm-lock.yaml | pnpm commands | npm, yarn |
yarn.lock | yarn commands | npm, pnpm |
package-lock.json | npm commands | yarn, pnpm |
poetry.lock | poetry commands | pip (unless also has requirements.txt) |
uv.lock | uv commands | pip, poetry |
If multiple lock files exist, include only the commands for each detected manager.
Weekly Installs
298
Repository
GitHub Stars
454
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
claude-code256
gemini-cli254
opencode253
codex252
github-copilot248
cursor235
Pipfile.lockpipenv graph |
requirements.txt (no other lock) | pip list, pip show, pip freeze |
package-lock.jsonnpm list, npm view, npm outdated |
TypeScript (tsconfig.json) | tsc --version |
cargo metadataGemfile | ruby --version, bundle list, bundle show |
pom.xml | java --version, mvn --version, mvn dependency:tree |
build.gradle | java --version, gradle --version, gradle dependencies |
terraform providersterraform state listMakefile | make --version, make -n |
vuejs.org |
| Express | expressjs.com |
| Rails | guides.rubyonrails.org, api.rubyonrails.org |
| Go | pkg.go.dev |
| Rust | docs.rs, doc.rust-lang.org |
| Docker | docs.docker.com |
| Kubernetes | kubernetes.io |
| Terraform | registry.terraform.io |
Pipfile.lock | pipenv commands | pip, poetry |