chore: [claude] svg-precision 스킬 CLAUDE.md에 등록

This commit is contained in:
김보곤
2026-02-23 13:31:13 +09:00
parent 9660c58bf4
commit 5957261ffa

114
CLAUDE.md
View File

@@ -122,63 +122,100 @@ fix: [auth] 로그인 시 세션 만료 오류 수정
--- ---
## 서버 직접 접근 금지 (최우선 필수 규칙) ## 서버 접근 정책 (3단계 분류)
> **경고: 운영/개발 서버에 SSH로 직접 접속하여 파일을 수정하거나 명령을 실행하지 마세요!** > **2026-02-21 사고 교훈**: Claude가 서버에 SSH로 접속하여 **설정을 변경**한 결과 502 Bad Gateway 발생.
> **2026-02-21 사고**: Claude가 서버에 SSH로 직접 접속하여 설정을 변경한 결과 502 Bad Gateway 발생. 개발팀장이 복구함. > → 교훈: **읽기는 허용, 변경은 확인 후, 위험 작업은 금지**
### 핵심 원칙 ### 핵심 원칙
서버는 **개발팀장이 관리**한다. Claude는 서버에 절대 직접 접근하지 않는다. 서버 접근을 **3단계**로 분류하여 관리한다:
### 금지 사항 | 단계 | 분류 | 정책 |
|------|------|------|
| 🟢 Level 1 | 읽기 전용 (진단/조회) | **자유 허용** — 사용자 요청 시 즉시 실행 |
| 🟡 Level 2 | 경미한 변경 | **사용자 확인 후 실행** — 실행 전 명령어를 보여주고 승인받기 |
| 🔴 Level 3 | 위험한 변경 | **절대 금지** — 안내만 제공 |
### 🟢 Level 1: 읽기 전용 (자유 허용)
사용자가 서버 진단/조회를 요청하면 **즉시 SSH 접속하여 실행** 가능:
``` ```
❌ ssh pro@114.203.209.83 ... 로 서버 접속 금지 ✅ ls, cat, head, tail, less — 파일/디렉토리 조회
❌ ssh hskwon@114.203.209.83 ... 로 서버 접속 금지 ✅ ps aux, top, htop — 프로세스 확인
❌ 서버에서 파일 수정, 프로세스 종료/시작, 설정 변경 금지 ✅ df -h, free -m — 디스크/메모리 확인
❌ 서버에서 npm run build, npm start, node server.js 등 실행 금지 ✅ git status, git log, git diff — Git 상태 조회
❌ 서버에서 git pull, composer install, php artisan 등 실행 금지 ✅ stat, id, whoami — 권한/소유자 확인
❌ scp, rsync로 서버에 파일 직접 전송 금지 ✅ nginx -t, php -v — 설정 검증 (변경 아닌 테스트만)
✅ tail -f /var/log/*.log — 로그 조회
✅ systemctl status — 서비스 상태 조회
✅ crontab -l — 크론 작업 조회
✅ docker ps, docker logs — 컨테이너 상태 조회
``` ```
### 허용 사항 ### 🟡 Level 2: 경미한 변경 (확인 후 실행)
실행 전 **명령어를 사용자에게 보여주고 승인**받은 후 실행:
``` ```
✅ 로컬에서 코드 작성 및 수정 ⚠️ git pull — 코드 업데이트
✅ 로컬에서 git add → git commit ⚠️ composer install — 의존성 설치
✅ 사용자에게 git push 안내 (사용자가 수동으로 실행) ⚠️ php artisan migrate — DB 마이그레이션
✅ 사용자에게 서버 배포 절차 안내 (사용자가 수동으로 실행) ⚠️ php artisan config:clear, cache:clear — 캐시 초기화
⚠️ chmod, chown — 파일 권한 변경 (소규모)
⚠️ systemctl restart — 서비스 재시작
⚠️ npm install — 패키지 설치
``` ```
**실행 절차:**
1. 실행할 명령어를 먼저 사용자에게 표시
2. 사용자 승인 확인
3. 승인 후 실행
### 🔴 Level 3: 위험한 변경 (절대 금지 — 안내만)
Claude가 **절대 직접 실행하지 않으며**, 사용자에게 명령어를 안내만 제공:
```
❌ rm -rf, 대량 파일 삭제
❌ nginx/apache 설정 파일 직접 수정
❌ /etc/ 하위 시스템 설정 변경
❌ 서버에서 npm run build (메모리 부족 위험)
❌ DB 직접 수정 (DROP, TRUNCATE, 대량 UPDATE/DELETE)
❌ 방화벽(iptables, ufw) 규칙 변경
❌ 사용자 계정 생성/삭제/비밀번호 변경
❌ scp, rsync로 대량 파일 전송
❌ 프로세스 강제 종료 (kill -9)
❌ 서버 재부팅
```
### 서버 접속 정보
| 서버 | 호스트 | 계정 |
|------|--------|------|
| 운영 서버 | `114.203.209.83` | `pro` |
### 배포 흐름 ### 배포 흐름
``` ```
Claude 역할 사용자/팀장 역할 Claude 역할 사용자/팀장 역할
┌─────────────────┐ ┌─────────────────┐ ┌───────────────────────┐ ┌─────────────────┐
│ 코드 작성/수정 │ │ │ │ 코드 작성/수정 │ │ │
│ git add │ │ │ │ git add / git commit │ │ │
git commit │──push──→ │ git pull │──push──→ │ git push
│ 서버 배포 서버 진단 (Level 1) │ │
│ │ 서비스 재시작 서버 변경 (Level 2) │──확인──→ │ 승인
└─────────────────┘ └─────────────────┘ │ 위험 작업 (Level 3) │──안내──→ │ 직접 실행 │
└───────────────────────┘ └─────────────────┘
``` ```
### 서버 작업이 필요한 경우 ### 체크리스트 (서버 작업 시)
사용자에게 명령어를 안내만 한다: - [ ] Level 1 (읽기): 사용자 요청 시 즉시 실행
- [ ] Level 2 (변경): 명령어를 보여주고 승인 후 실행
``` - [ ] Level 3 (위험): 절대 직접 실행하지 않고 안내만 제공
서버에서 다음 명령을 실행해주세요: - [ ] 사고 방지: 설정 파일 수정, 서비스 중단 가능성 있는 작업은 Level 3
cd /home/webservice/api && git pull && composer install && php artisan migrate
```
### 체크리스트 (모든 작업 시)
- [ ] SSH 명령 사용하지 않음
- [ ] 서버 파일 직접 수정하지 않음
- [ ] 배포가 필요하면 사용자에게 안내만 제공
- [ ] git push까지만 Claude 역할
--- ---
@@ -538,6 +575,7 @@ php artisan config:clear
| Skill | 설명 | | Skill | 설명 |
|-------|------| |-------|------|
| `svg-precision` | SVG 결정론적 생성, 검증(validate), PNG 렌더링. 다이어그램/차트/아이콘에 사용 |
| `duplicate-file-cleaner` | 중복 이미지/미디어 파일 정리 | | `duplicate-file-cleaner` | 중복 이미지/미디어 파일 정리 |
| `npm-release-manager` | NPM 패키지 배포 자동화 | | `npm-release-manager` | NPM 패키지 배포 자동화 |