docs: guidelines에서 구체적 값 제거, 원칙만 유지

- constants.md: 스킬 레벨/스탯 요구사항 구체적 값 제거, 구조 원칙만 유지
- deployment_patterns.md: 구체적 배포 플로우/SSH Secrets 이름 제거, 패턴 원칙만 유지
- logging_rules.md: 구체적 경로/주소 제거, 원칙만 유지
- naming_conventions.md: 구체적 예시 제거, 원칙만 유지
- 실제 값은 각 서비스 README 참조로 변경
This commit is contained in:
Claude-51124 2025-12-06 17:43:19 +09:00
parent f197919684
commit 1db34dd8ea
4 changed files with 47 additions and 83 deletions

View File

@ -5,23 +5,14 @@
--- ---
## 스킬 레벨 구조 ## 스킬 레벨 구조 원칙
| 레벨 | 스킬 | 설명 | - 레벨은 점진적으로 증가하는 구조
|------|------|------| - 낮은 레벨: 기본 기능
| 1 | 기본 대화 | 기본 채팅 | - 높은 레벨: 고급 기능
| 2 | 이메일 읽기 | Gmail 읽기 | - 레벨 간격은 의미 있는 기능 차이를 반영
| 3 | Slack 대화 | Slack 연동 |
| 4 | 이메일 전송 | Gmail 전송 |
| 5 | 데일리 브리핑 | 뉴스 요약 |
| 7 | 일정 관리 | 캘린더 |
| 11 | 문서 작성/편집 | 문서 작업 |
| 13 | 데이터 분석/차트 | 분석 |
| 17 | 프로젝트 관리 | 프로젝트 |
| 19 | AI 인사이트/예측 | 인사이트 |
| 23 | 자동화 워크플로우 | 자동화 |
**참고**: `DOCS/journey/troubleshooting/250830_skill_level_system_restructure.md:45-57` **참고**: 실제 레벨 값은 코드/README 참조, `DOCS/journey/troubleshooting/250830_skill_level_system_restructure.md`
--- ---
@ -56,15 +47,11 @@
--- ---
## 스탯 요구사항 구조 ## 스탯 요구사항 구조 원칙
| 스킬 | Memory | React | Compute | Empathy | - 각 스킬은 Memory, React, Compute, Empathy 중 필요한 스탯만 요구
|------|--------|-------|---------|---------| - 스탯 요구사항은 스킬의 특성에 맞게 설계
| EMAIL | 10 | 5 | 5 | 5 | - 실제 값은 코드에서 관리
| NEWS | - | 10 | 5 | - |
| SLACK | 15 | - | - | 10 |
| ANALYSIS | 15 | - | 20 | - |
| LLM | - | - | 15 | 10 |
**참고**: `rb8001/app/services/brain/decision_engine.py:560-565` **참고**: `rb8001/app/services/brain/decision_engine.py:560-565`

View File

@ -5,38 +5,34 @@
--- ---
## 배포 패턴 구조 ## 배포 패턴 원칙
### 자동 배포 패턴 ### 자동 배포 원칙
``` - 로컬 개발 → Git 푸시 → CI/CD 실행 → 서버 배포 → 컨테이너 재시작
로컬 개발 → Gitea 푸시 → Actions (51123) → SSH (51124) → git pull → docker 재시작 - 자동화된 배포는 일관성과 효율성 제공
```
**참고**: `AGENTS.md:83-85` ### 수동 배포 원칙
- 서버 접속 → 코드 업데이트 → 컨테이너 재시작
- 자동 배포가 불가능한 경우에만 사용
### 수동 배포 패턴 **참고**: `AGENTS.md:83-85,32`
```
서버 접속 → git pull → docker compose down && docker compose up -d --build
```
**참고**: `AGENTS.md:32`
--- ---
## 워크플로우 파일 구조 ## 워크플로우 파일 구조 원칙
### 위치 ### 위치
- 경로: `.gitea/workflows/*.yml` - CI/CD 워크플로우 파일은 표준 경로 사용
- 예시: `rb8001/.gitea/workflows/cicd.yml` - 각 서비스별로 독립적인 워크플로우 관리
### 공통 패턴 ### 공통 패턴
1. SSH 키 설정 1. 인증 설정
2. 서버 접속 2. 서버 접속
3. git pull 3. 코드 업데이트
4. docker 재시작 4. 서비스 재시작
5. 헬스체크 5. 검증
**참고**: 각 서비스 `.gitea/workflows/` 디렉토리 **참고**: 각 서비스 CI/CD 설정 참조
--- ---
@ -53,13 +49,12 @@
--- ---
## SSH Secrets 구조 ## 인증 Secrets 구조 원칙
| Secret 이름 | 설명 | 사용 위치 | - SSH 키: 서버 접속 인증
|------------|------|-----------| - 호스트 정보: 배포 대상 서버
| `SSH_PRIVATE_KEY_51124` | 51124 서버 SSH 키 | Gitea Actions | - 사용자 정보: 서버 접속 사용자
| `SSH_HOST_51124` | 51124 서버 IP | Gitea Actions | - 실제 Secret 이름은 CI/CD 설정 참조
| `SSH_USER_51124` | SSH 사용자 | Gitea Actions |
**참고**: `DOCS/journey/plans/251206_skill_calendar_자동배포_구성.md` **참고**: `DOCS/journey/plans/251206_skill_calendar_자동배포_구성.md`

View File

@ -37,51 +37,31 @@ logger.info(f"User {user_id} authenticated", extra={
--- ---
## 로그 위치 ## 로그 위치 원칙
### 컨테이너 내부 - 컨테이너 내부: 서비스별 로그 파일 분리
- 경로: `/code/logs/[서비스명].log` - 호스트 백업: 정기적 백업 (일별 스케줄)
- 예시: `/code/logs/rb8001.log` - 실제 경로는 각 서비스 README 참조
### 호스트 (백업)
- 경로: `/mnt/51123logs/[서비스명]/`
- 백업 시간: 매일 03:00
**참고**: `AGENTS.md:133-137` **참고**: `AGENTS.md:133-137`
--- ---
## 로그 확인 방법 ## 로그 확인 원칙
### 실시간 로그 - 실시간 로그: Docker 로그 명령어 사용
```bash - 파일 로그: 로그 파일 직접 확인
docker logs [컨테이너명] --tail 100 - 에러 필터링: grep으로 에러/경고 필터링
```
### 파일 로그
```bash
tail -f /code/logs/[서비스명].log
```
### 에러 필터링
```bash
docker logs [컨테이너명] | grep -iE "error|warn|fail"
```
**참고**: `AGENTS.md:133-137` **참고**: `AGENTS.md:133-137`
--- ---
## 로그 보관 ## 로그 보관 원칙
### Docker JSON 로그 - Docker JSON 로그: 컨테이너별 자동 생성
- 위치: `/var/lib/docker/containers/*/json.log` - 중앙 집중 로그: OpenSearch 등 외부 시스템 활용
- 권한: sudo 필요 - 실제 주소/인덱스는 각 서비스 README 참조
### OpenSearch
- 주소: http://192.168.219.45:9200
- 인덱스: `dataprepper-static` (서비스 로그)
- 일별 인덱스: `dataprepper-YYYY.MM.DD` (fluent-bit 로그)
**참고**: `AGENTS.md:137-142` **참고**: `AGENTS.md:137-142`

View File

@ -81,10 +81,12 @@ MAX_RETRIES = 3 # 상수
## 서비스명 ## 서비스명
### 컨테이너명 ### 컨테이너명
- **kebab-case**: 소문자, 하이픈 (예: `skill-slack`, `robeing-monitor`) - **kebab-case**: 소문자, 하이픈 사용
- 실제 이름은 각 서비스 README 참조
### 서비스 ID ### 서비스 ID
- **소문자**: `rb8001`, `skill-email` - **소문자**: 일관된 형식 유지
- 실제 ID는 각 서비스 README 참조
**참고**: `AGENTS.md:78-81` **참고**: `AGENTS.md:78-81`