2026-04-15 00:37:42 +00:00
|
|
|
{
|
2026-04-16 06:53:14 +00:00
|
|
|
"_description": "너드나비스 조직 공용 Claude Code permission + hook 설정 (SOT). PD님 일괄 승인 원칙 + 자동 동기화 hook. 단일 세션 + Agent 병렬 호출 구조. 모든 PC 동일 적용. 루트 단일 관리.",
|
2026-04-15 00:37:42 +00:00
|
|
|
"permissions": {
|
2026-04-17 02:23:47 +00:00
|
|
|
"defaultMode": "acceptEdits",
|
2026-04-15 00:37:42 +00:00
|
|
|
"allow": [
|
|
|
|
|
"Read",
|
|
|
|
|
"Glob",
|
|
|
|
|
"Grep",
|
|
|
|
|
"TodoWrite",
|
|
|
|
|
"Edit",
|
|
|
|
|
"Write",
|
|
|
|
|
"MultiEdit",
|
|
|
|
|
"NotebookEdit",
|
2026-04-17 03:16:02 +00:00
|
|
|
"Skill",
|
2026-04-16 02:35:14 +00:00
|
|
|
"Bash",
|
2026-04-17 02:23:47 +00:00
|
|
|
"Bash(git *)",
|
|
|
|
|
"Bash(ls *)",
|
|
|
|
|
"Bash(cat *)",
|
|
|
|
|
"Bash(echo *)",
|
|
|
|
|
"Bash(mkdir *)",
|
|
|
|
|
"Bash(pwd)",
|
|
|
|
|
"Bash(which *)",
|
|
|
|
|
"Bash(bash *)",
|
|
|
|
|
"Bash(powershell *)",
|
|
|
|
|
"Bash(node *)",
|
|
|
|
|
"Bash(npm *)",
|
|
|
|
|
"Bash(npx *)",
|
|
|
|
|
"Bash(python *)",
|
|
|
|
|
"Bash(python3 *)",
|
|
|
|
|
"Bash(pip *)",
|
|
|
|
|
"Bash(uv *)",
|
|
|
|
|
"Bash(uvx *)",
|
|
|
|
|
"Bash(dotnet *)",
|
2026-04-15 00:37:42 +00:00
|
|
|
"WebFetch",
|
2026-04-16 02:35:14 +00:00
|
|
|
"WebSearch",
|
|
|
|
|
"mcp__unity-mcp__*",
|
|
|
|
|
"mcp__filesystem__*",
|
|
|
|
|
"mcp__memory__*",
|
|
|
|
|
"mcp__sqlite__*",
|
|
|
|
|
"mcp__scheduled-tasks__*",
|
|
|
|
|
"mcp__Claude_Preview__*"
|
2026-04-15 00:37:42 +00:00
|
|
|
],
|
|
|
|
|
"deny": [
|
2026-04-15 01:03:26 +00:00
|
|
|
"Bash(rm:*)",
|
|
|
|
|
"Bash(rmdir:*)",
|
2026-04-15 00:37:42 +00:00
|
|
|
"Bash(sudo:*)",
|
|
|
|
|
"Bash(dd:*)",
|
|
|
|
|
"Bash(mkfs:*)",
|
2026-04-15 01:03:26 +00:00
|
|
|
"Bash(format:*)",
|
|
|
|
|
"Bash(chmod 777:*)",
|
|
|
|
|
"Bash(chown:*)",
|
|
|
|
|
"Bash(shutdown:*)",
|
|
|
|
|
"Bash(reboot:*)",
|
2026-04-15 00:37:42 +00:00
|
|
|
"Write(/etc/**)",
|
|
|
|
|
"Write(/System/**)",
|
|
|
|
|
"Write(C:/Windows/**)",
|
2026-04-15 01:03:26 +00:00
|
|
|
"Write(C:\\Windows\\**)",
|
2026-04-15 00:37:42 +00:00
|
|
|
"Edit(/etc/**)",
|
|
|
|
|
"Edit(/System/**)",
|
2026-04-15 01:03:26 +00:00
|
|
|
"Edit(C:/Windows/**)",
|
|
|
|
|
"Edit(C:\\Windows\\**)"
|
2026-04-15 00:37:42 +00:00
|
|
|
]
|
2026-04-15 10:33:46 +00:00
|
|
|
},
|
|
|
|
|
"hooks": {
|
2026-04-17 02:41:46 +00:00
|
|
|
"PreToolUse": [
|
|
|
|
|
{
|
|
|
|
|
"matcher": "",
|
|
|
|
|
"hooks": [
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/auto_approve.sh"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
2026-04-15 10:33:46 +00:00
|
|
|
"SessionStart": [
|
|
|
|
|
{
|
|
|
|
|
"matcher": "",
|
|
|
|
|
"hooks": [
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
2026-04-16 02:39:42 +00:00
|
|
|
"command": "git fetch origin 2>/dev/null; CHANGES=$(git log --oneline HEAD..origin/main 2>/dev/null | head -10); if [ -n \"$CHANGES\" ]; then echo '📌 [SessionStart] origin/main 변경 검출 — 자동 병합 중:'; echo \"$CHANGES\"; git merge origin/main --no-edit 2>/dev/null && echo '✅ 자동 병합 완료' || echo '⚠️ 자동 병합 실패 (충돌 발생 — 수동 해결 필요)'; else echo '✅ [SessionStart] main 동기화 상태'; fi"
|
2026-04-15 12:21:33 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
2026-04-18 12:59:41 +00:00
|
|
|
"command": "bash scripts/live_junction_ensure.sh 2>/dev/null || true"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
2026-04-18 16:39:04 +00:00
|
|
|
"command": "bash scripts/memory_junction_ensure.sh 2>/dev/null || true"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/sync_memory_repo_to_central.sh 2>/dev/null || true"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
2026-04-15 12:21:33 +00:00
|
|
|
"command": "bash scripts/inbox_scan.sh 2>/dev/null || true"
|
2026-04-16 03:01:08 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/change_digest.sh 2>/dev/null || true"
|
2026-04-16 11:50:14 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/live_session_load.sh 2>/dev/null || true"
|
2026-04-17 03:09:20 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/pm_context_restore.sh 2>/dev/null || true"
|
2026-04-17 08:31:47 +00:00
|
|
|
},
|
2026-04-18 17:19:21 +00:00
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/recent_feedback_brief.sh 2>/dev/null || true"
|
|
|
|
|
},
|
2026-04-18 17:45:06 +00:00
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/audit_pattern_analyzer.sh 2>/dev/null || true"
|
|
|
|
|
},
|
2026-04-17 08:31:47 +00:00
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/verify_log_paths.sh 2>/dev/null || true"
|
2026-04-17 12:18:17 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "git config core.hooksPath scripts/git-hooks 2>/dev/null || true"
|
2026-04-15 10:33:46 +00:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"UserPromptSubmit": [
|
|
|
|
|
{
|
|
|
|
|
"matcher": "",
|
|
|
|
|
"hooks": [
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
2026-04-17 12:12:32 +00:00
|
|
|
"command": "bash scripts/sync_signal.sh check 2>/dev/null || true"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
2026-04-15 10:33:46 +00:00
|
|
|
"command": "bash scripts/git_fetch_throttle.sh 2>/dev/null || true"
|
2026-04-16 03:01:08 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/hold_watch.sh 2>/dev/null || true"
|
2026-04-16 11:50:14 +00:00
|
|
|
},
|
2026-04-19 12:13:09 +00:00
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/live_junction_ensure.sh 2>/dev/null || true"
|
|
|
|
|
},
|
2026-04-16 11:50:14 +00:00
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/live_inject.sh 2>/dev/null || true"
|
2026-04-15 10:33:46 +00:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2026-04-17 06:12:36 +00:00
|
|
|
],
|
|
|
|
|
"PostToolUse": [
|
|
|
|
|
{
|
|
|
|
|
"matcher": "Edit|Write|MultiEdit",
|
|
|
|
|
"hooks": [
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/postuse_log_reminder.sh 2>/dev/null || true"
|
2026-04-18 17:45:06 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/auditor_guard.sh 2>/dev/null || true"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"matcher": "Bash",
|
|
|
|
|
"hooks": [
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/auditor_guard.sh 2>/dev/null || true"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"matcher": "Task",
|
|
|
|
|
"hooks": [
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/auditor_call_log.sh 2>/dev/null || true"
|
2026-04-17 06:12:36 +00:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"SessionEnd": [
|
|
|
|
|
{
|
|
|
|
|
"matcher": "",
|
|
|
|
|
"hooks": [
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/session_end_audit.sh 2>/dev/null || true"
|
2026-04-17 08:40:37 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "command",
|
|
|
|
|
"command": "bash scripts/verify_references.sh 2>/dev/null || true"
|
2026-04-17 06:12:36 +00:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2026-04-15 10:33:46 +00:00
|
|
|
]
|
2026-04-15 00:37:42 +00:00
|
|
|
}
|
|
|
|
|
}
|