docs: update documentation and add server schema
- Update CLAUDE.md with server provisioning docs - Add server tables to schema.sql (cloud_providers, instance_specs, etc.) - Register manage_server tool in tools/index.ts - Minor fixes to conversation-service and summary-service Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
38
CLAUDE.md
38
CLAUDE.md
@@ -33,8 +33,22 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
- 프로덕션 수준의 코드 품질 보장
|
||||
- 엔터프라이즈급 에러 핸들링 및 타입 안정성
|
||||
- 성능 최적화 및 베스트 프랙티스 적용
|
||||
- `Explore`: 프로젝트 구조 분석 (thorough 레벨)
|
||||
- 도구: Read, Write, Edit, Bash, Glob, Grep (쓰기 가능)
|
||||
- `explorer`: 코드베이스 탐색/분석 전문가 (thorough 레벨)
|
||||
- 프로젝트 구조 파악 및 의존성 분석
|
||||
- 대량 파일 읽기 및 패턴 인식
|
||||
- 도구: Read, Grep, Glob (읽기 전용)
|
||||
- `planner`: 설계/계획 수립 전문가
|
||||
- 아키텍처 설계 및 구현 계획 작성
|
||||
- 시스템 분석 및 개선 방향 제시
|
||||
- 도구: Read, Grep, Glob (읽기 전용)
|
||||
- `reviewer`: 코드 리뷰 전문가
|
||||
- 품질/보안/성능 검토
|
||||
- 페르소나 조합으로 전문화 (qa/security/performance)
|
||||
- 도구: Read, Grep, Glob (읽기 전용)
|
||||
- `Bash`: 빌드/배포/테스트 실행
|
||||
- 긴 로그 출력 분리 (컨텍스트 절약)
|
||||
- 시스템 명령어 실행
|
||||
|
||||
**CRITICAL: 다음 작업은 반드시 Task tool (agent)를 사용하여 메인 세션 컨텍스트 절약:**
|
||||
|
||||
@@ -44,8 +58,9 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
| **리팩토링** | 파일 수 무관 | `coder` (병렬) | 일관성, 컨텍스트 분리, TS 최적화 |
|
||||
| **Function Calling 도구** | 추가/수정 | `coder` (병렬) | tools/ + openai-service.ts 동시 처리 |
|
||||
| **스키마 작업** | D1 마이그레이션 | `coder` | 백업→마이그레이션→검증 전체 위임 |
|
||||
| **프로젝트 분석** | 구조 파악 | `Explore` (thorough) | 대량 파일 읽기 분리 |
|
||||
| **코드 리뷰** | 보안/성능 | `Explore` + `coder` | 분석 후 개선 제안 |
|
||||
| **프로젝트 분석** | 구조 파악 | `explorer` (thorough) | 대량 파일 읽기 분리 |
|
||||
| **설계/계획** | 아키텍처 설계 | `planner` | 시스템 분석 및 개선 방향 제시 |
|
||||
| **코드 리뷰** | 보안/성능 | `reviewer` → `coder` | 분석 후 개선 제안 (reviewer는 읽기 전용) |
|
||||
| **빌드/배포** | npm run, wrangler | `Bash` | 긴 로그 출력 분리 |
|
||||
| **테스트** | 로컬 테스트 실행 | `Bash` | 테스트 출력 분리 |
|
||||
|
||||
@@ -209,6 +224,9 @@ wrangler secret put NAMECHEAP_API_KEY # namecheap-api 래퍼 인증 키
|
||||
wrangler secret put NAMECHEAP_API_KEY_INTERNAL # Namecheap API 키 (내부용)
|
||||
wrangler secret put BRAVE_API_KEY # Brave Search API 키
|
||||
wrangler secret put DEPOSIT_API_SECRET # Deposit API 인증 키
|
||||
wrangler secret put LINODE_API_KEY # Linode API 키
|
||||
wrangler secret put VULTR_API_KEY # Vultr API 키
|
||||
wrangler secret put SERVER_ADMIN_ID # 서버 관리 알림 Telegram ID
|
||||
```
|
||||
|
||||
**Webhook 설정:**
|
||||
@@ -236,6 +254,9 @@ wrangler d1 execute telegram-conversations --file=migrations/001_rollback.sql
|
||||
| 파일 | 설명 | 적용일 |
|
||||
|------|------|--------|
|
||||
| `001_optimize_prefix_indexes.sql` | 입금자명 prefix 인덱스 최적화 (99% 성능 향상) | 2026-01-19 |
|
||||
| `002_add_version_columns.sql` | Optimistic Locking (user_deposits.version) | 2026-01-20 |
|
||||
| `003_add_server_tables.sql` | 서버 관리 시스템 테이블 추가 | 2026-01-23 |
|
||||
| `004_seed_server_data.sql` | 서버 제공자/사양 초기 데이터 | 2026-01-23 |
|
||||
|
||||
**마이그레이션 작업 내용 (001):**
|
||||
- `deposit_transactions.depositor_name_prefix` 컬럼 추가
|
||||
@@ -612,7 +633,7 @@ await process();
|
||||
end(); // duration 자동 기록
|
||||
```
|
||||
|
||||
**Function Calling Tools (8개):**
|
||||
**Function Calling Tools (9개):**
|
||||
| 도구 | 함수명 | 외부 API | 트리거 키워드 |
|
||||
|------|--------|----------|---------------|
|
||||
| 날씨 | `get_weather` | wttr.in | 날씨 |
|
||||
@@ -623,6 +644,7 @@ end(); // duration 자동 기록
|
||||
| 도메인 | `manage_domain` | 코드 직접 처리 → Namecheap | 도메인, 네임서버, WHOIS |
|
||||
| 도메인 추천 | `suggest_domains` | GPT + Namecheap | **도메인 추천, 도메인 제안, 도메인 아이디어** |
|
||||
| 예치금 | `manage_deposit` | 코드 직접 처리 | **입금, 충전, 잔액, 계좌, 송금** |
|
||||
| 서버 | `manage_server` | Linode/Vultr API | **서버, VPS, 클라우드, 인스턴스** |
|
||||
|
||||
**Data Layer (D1 SQLite):**
|
||||
| 테이블 | 용도 | 주요 컬럼 |
|
||||
@@ -634,6 +656,10 @@ end(); // duration 자동 기록
|
||||
| `deposit_transactions` | 거래 내역 | user_id, amount, status |
|
||||
| `bank_notifications` | SMS 파싱 | depositor_name, amount, bank |
|
||||
| `user_domains` | 도메인 소유권 | user_id, domain, verified (등록 시 자동 추가) |
|
||||
| `cloud_providers` | 클라우드 제공자 | name, api_base_url, enabled |
|
||||
| `instance_specs` | 서버 사양표 | plan_id, vcpus, memory_mb, price_krw, regions |
|
||||
| `server_orders` | 서버 주문 내역 | user_id, provider_id, status, ip_address |
|
||||
| `user_servers` | 서버 소유권 | user_id, provider_instance_id, verified |
|
||||
|
||||
**AI Fallback:** OpenAI 미설정 시 Workers AI (Llama 3.1 8B) 자동 전환
|
||||
|
||||
@@ -785,6 +811,7 @@ case 'new_tool':
|
||||
| `MAX_SUMMARIES_PER_USER` | 3 | 유지할 프로필 버전 수 |
|
||||
| `DOMAIN_OWNER_ID` | - | 도메인 관리 권한 Telegram ID |
|
||||
| `DEPOSIT_ADMIN_ID` | - | 예치금 관리 권한 Telegram ID |
|
||||
| `SERVER_ADMIN_ID` | - | 서버 관리 권한 Telegram ID |
|
||||
|
||||
**외부 API 엔드포인트 (커스터마이징 가능):**
|
||||
| 변수 | 기본값 | 설명 |
|
||||
@@ -811,6 +838,9 @@ case 'new_tool':
|
||||
| `NAMECHEAP_API_KEY_INTERNAL` | Namecheap API 키 (내부) | - |
|
||||
| `BRAVE_API_KEY` | Brave Search API 키 | - |
|
||||
| `DEPOSIT_API_SECRET` | Deposit API 인증 | - |
|
||||
| `LINODE_API_KEY` | Linode API 키 | - |
|
||||
| `VULTR_API_KEY` | Vultr API 키 | - |
|
||||
| `SERVER_ADMIN_ID` | 서버 관리 알림 Telegram ID | - |
|
||||
|
||||
**KV Namespaces:**
|
||||
| Binding | 설명 | 생성 명령 |
|
||||
|
||||
Reference in New Issue
Block a user