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:
kappa
2026-01-24 21:41:14 +09:00
parent 6563ee0650
commit 43419a8025
7 changed files with 126 additions and 8 deletions

View File

@@ -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 | 설명 | 생성 명령 |