chore: [claude] svg-precision 스킬 CLAUDE.md에 등록
This commit is contained in:
114
CLAUDE.md
114
CLAUDE.md
@@ -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 ... 로 서버 접속 금지
|
||||
❌ ssh hskwon@114.203.209.83 ... 로 서버 접속 금지
|
||||
❌ 서버에서 파일 수정, 프로세스 종료/시작, 설정 변경 금지
|
||||
❌ 서버에서 npm run build, npm start, node server.js 등 실행 금지
|
||||
❌ 서버에서 git pull, composer install, php artisan 등 실행 금지
|
||||
❌ scp, rsync로 서버에 파일 직접 전송 금지
|
||||
✅ ls, cat, head, tail, less — 파일/디렉토리 조회
|
||||
✅ ps aux, top, htop — 프로세스 확인
|
||||
✅ df -h, free -m — 디스크/메모리 확인
|
||||
✅ git status, git log, git diff — Git 상태 조회
|
||||
✅ stat, id, whoami — 권한/소유자 확인
|
||||
✅ nginx -t, php -v — 설정 검증 (변경 아닌 테스트만)
|
||||
✅ tail -f /var/log/*.log — 로그 조회
|
||||
✅ systemctl status — 서비스 상태 조회
|
||||
✅ crontab -l — 크론 작업 조회
|
||||
✅ docker ps, docker logs — 컨테이너 상태 조회
|
||||
```
|
||||
|
||||
### 허용 사항
|
||||
### 🟡 Level 2: 경미한 변경 (확인 후 실행)
|
||||
|
||||
실행 전 **명령어를 사용자에게 보여주고 승인**받은 후 실행:
|
||||
|
||||
```
|
||||
✅ 로컬에서 코드 작성 및 수정
|
||||
✅ 로컬에서 git add → git commit
|
||||
✅ 사용자에게 git push 안내 (사용자가 수동으로 실행)
|
||||
✅ 사용자에게 서버 배포 절차 안내 (사용자가 수동으로 실행)
|
||||
⚠️ git pull — 코드 업데이트
|
||||
⚠️ composer install — 의존성 설치
|
||||
⚠️ 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 역할 사용자/팀장 역할
|
||||
┌─────────────────┐ ┌─────────────────┐
|
||||
│ 코드 작성/수정 │ │ │
|
||||
│ git add │ │ │
|
||||
│ git commit │──push──→ │ git pull │
|
||||
│ │ │ 서버 배포 │
|
||||
│ │ │ 서비스 재시작 │
|
||||
└─────────────────┘ └─────────────────┘
|
||||
Claude 역할 사용자/팀장 역할
|
||||
┌───────────────────────┐ ┌─────────────────┐
|
||||
│ 코드 작성/수정 │ │ │
|
||||
│ git add / git commit │ │ │
|
||||
│ │──push──→ │ git push │
|
||||
│ 서버 진단 (Level 1) │ │ │
|
||||
│ 서버 변경 (Level 2) │──확인──→ │ 승인 │
|
||||
│ 위험 작업 (Level 3) │──안내──→ │ 직접 실행 │
|
||||
└───────────────────────┘ └─────────────────┘
|
||||
```
|
||||
|
||||
### 서버 작업이 필요한 경우
|
||||
### 체크리스트 (서버 작업 시)
|
||||
|
||||
사용자에게 명령어를 안내만 한다:
|
||||
|
||||
```
|
||||
서버에서 다음 명령을 실행해주세요:
|
||||
cd /home/webservice/api && git pull && composer install && php artisan migrate
|
||||
```
|
||||
|
||||
### 체크리스트 (모든 작업 시)
|
||||
|
||||
- [ ] SSH 명령 사용하지 않음
|
||||
- [ ] 서버 파일 직접 수정하지 않음
|
||||
- [ ] 배포가 필요하면 사용자에게 안내만 제공
|
||||
- [ ] git push까지만 Claude 역할
|
||||
- [ ] Level 1 (읽기): 사용자 요청 시 즉시 실행
|
||||
- [ ] Level 2 (변경): 명령어를 보여주고 승인 후 실행
|
||||
- [ ] Level 3 (위험): 절대 직접 실행하지 않고 안내만 제공
|
||||
- [ ] 사고 방지: 설정 파일 수정, 서비스 중단 가능성 있는 작업은 Level 3
|
||||
|
||||
---
|
||||
|
||||
@@ -538,6 +575,7 @@ php artisan config:clear
|
||||
|
||||
| Skill | 설명 |
|
||||
|-------|------|
|
||||
| `svg-precision` | SVG 결정론적 생성, 검증(validate), PNG 렌더링. 다이어그램/차트/아이콘에 사용 |
|
||||
| `duplicate-file-cleaner` | 중복 이미지/미디어 파일 정리 |
|
||||
| `npm-release-manager` | NPM 패키지 배포 자동화 |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user