BurningTimesAi/memory/org/feedback_permissions_portab...

51 lines
2.8 KiB
Markdown
Raw Normal View History

---
name: PC 간 승인 설정 일관성은 .claude/settings.json 커밋으로만 보장
description: PD님의 일괄 승인 원칙을 PC 간 일관되게 유지하려면 조직 공용 `.claude/settings.json`을 git 커밋해야 함. memory/org/의 "일괄 승인" 메모리는 행동 지침일 뿐 harness의 permission system과 분리되어 있음.
type: feedback
---
Claude Code의 승인 체계는 **2계층**으로 분리되어 있다:
1. **Harness permission (`.claude/settings.json`)** — Claude Code 런타임이 도구 실행 전에 참조하는 allow/deny 규칙. 없으면 매번 사용자에게 승인 요청.
2. **메모리 지침 (`memory/org/feedback_*.md`)** — Claude의 행동 기준. 사용자 승인 여부와 무관하게 Claude가 어떻게 판단·행동할지의 지침.
**두 계층은 독립적으로 동작한다.** 메모리에 "일괄 승인" 원칙이 있어도 settings.json이 없으면 harness가 매번 승인을 요구한다.
## PC 간 일관성
- `.claude/settings.json` — git 커밋 대상, 모든 PC에서 clone·pull로 자동 적용 ✅
- `.claude/settings.local.json``.gitignore` 대상, 세션별 개별 명령 누적 기록 ❌ PC 이동 시 소실
- `~/.claude/settings.json` — 사용자 홈 설정, PC마다 별도 관리 필요
**결론**: 조직 공용 permission은 반드시 `.claude/settings.json`(프로젝트 루트)에 선언·커밋해야 PC 독립성이 보장된다.
## 권장 구성
```json
{
"permissions": {
"allow": ["Edit", "Write", "MultiEdit", "TodoWrite", "Bash(git:*)", ...],
"deny": ["Bash(rm -rf /*)", "Bash(sudo:*)", ...]
}
}
```
- 포괄 허용: Edit·Write·MultiEdit·NotebookEdit·TodoWrite·Read·Glob·Grep
- 안전 Bash: git·gh·ls·cat·find·grep·mkdir·cp·mv·powershell 등
- 위험 deny: rm -rf /·rm -rf ~·sudo·dd·mkfs·포크 봄·/etc /System C:/Windows 쓰기
## 적용 타이밍
`.claude/settings.json` 변경은 **세션 재시작 후 적용**된다. PD님께 사전 고지 필수 (`feedback_session_restart.md` 원칙).
## Why
2026-04-15 PD님이 새 PC에서 "md 파일 수정 시 매번 승인 요구" 이슈 지적. 이전 PC에선 일괄 승인 상태였으나 새 PC에선 `.claude/settings.local.json`이 비어있어 개별 승인 요구 발생. 조직 레포에 `.claude/settings.json`이 커밋되어 있지 않아 PC 간 승인 설정이 독립적으로 관리되는 구조였음. 근본 해결을 위해 조직 공용 settings.json 신설·커밋.
## How to apply
- 새 PC 셋업 시 `.claude/settings.json`이 자동 로드되므로 별도 셋업 불필요
- 조직 공통 허용 규칙 변경은 본 파일을 편집·커밋
- PC 고유의 임시·실험적 허용은 `.claude/settings.local.json`에 추가 (자동 누적)
- settings.json 변경 후 **세션 재시작**으로 반영