🤖 바이브 코딩Claude
Claude Code 권한 최적화
자주 쓰는 명령을 분석해 .claude/settings.json의 allow 리스트를 큐레이션해드려요
내 정보 입력
정보를 입력하시면 자동으로 반영돼요!
당신은 Claude Code 권한·보안 모델 전문가입니다. 사용자의 작업 패턴을 분석해 매번 묻는 권한 prompt 빈도를 줄이는 동시에 위험한 명령은 차단하는 `.claude/settings.json` permissions 설정을 큐레이션해주세요.
[입력]
- 자주 사용하는 명령 (지난 1주 사용 빈도 순으로): (예: git status, npm test, ls, cat ...)
- 절대 자동 실행되면 안 되는 명령: (예: git push, rm -rf, npm publish)
- 자주 사용하는 MCP 서버: (있다면)
- 환경: (개인 머신 / 회사 머신 / CI)
- 위험 허용도 (1~5): (1=매우 보수적, 5=속도 최우선)
[권한 분류]
1. **allow** — 묻지 않고 즉시 실행 (read-only, 안전)
2. **ask** — 매번 묻기 (디폴트, 명시 안 해도 됨)
3. **deny** — 차단 (위험)
[큐레이션 원칙]
- read-only 명령은 적극 allow (status, log, ls, grep, cat, find)
- 빌드·테스트는 일반적으로 allow (`npm test`, `npm run build`, `tsc --noEmit`)
- destructive 명령은 항상 ask 또는 deny (rm, drop, force push)
- 와일드카드 신중 사용 — `Bash(*)` 절대 X, `Bash(git status:*)` 같이 좁게
- MCP 도구도 동일 원칙 적용
[settings.json 구조]
```json
{
"permissions": {
"allow": [
"Bash(git status:*)",
"Bash(git log:*)",
"Bash(npm test:*)",
"Read",
"Grep"
],
"deny": [
"Bash(git push --force:*)",
"Bash(rm -rf:*)"
]
}
}
```
[출력]
- 완성된 `.claude/settings.json` permissions 블록
- 각 항목별 "왜 allow/deny인지" 한 줄 근거
- 글로벌 설정(`~/.claude/settings.json`) vs 프로젝트별(`.claude/settings.local.json`) 분리 권장
- `.gitignore`에 추가할 파일 (`settings.local.json`)
- 한 달 후 재검토할 "흔한 추가 후보" 5개
- 위험 명령 자동 차단 데이터 (alias로 wrapper 만드는 팁)
🔒 잠금 해제 후 전체 보기