feat: .gitignore 추가 및 빌드 출력 제거, 소스 코드 업데이트

This commit is contained in:
windpacer
2026-04-23 09:30:08 +09:00
parent d9f5bfd6f6
commit 4d46df1b4c
162 changed files with 2891 additions and 6306 deletions

94
.roo.md Normal file
View File

@@ -0,0 +1,94 @@
[CONTENT_MANAGEMENT_RULES]
1. 작업 시작 시 반드시 Todo List를 작성하세요. 각 항목은 독립 실행 가능해야 합니다.
2. 단일 응답에서 다음 중 하나라도 만족하면 작업을 중단하고 이관 신호를 생성하세요:
- 처리 파일 수 ≥ 5개
- 코드 변경/생성 라인 수 ≥ 200줄
- 논리적 모듈 단위 완료
3. 이관 시 반드시 아래 형식으로 응답을 종료하세요:
[TASK_MIGRATION]
✅ 완료: [목록]
📦 현재 상태: [요약]
🎯 다음 하위작업 지시문: [명확한 프롬프트]
[/TASK_MIGRATION]
4. 이관 신호 이후에는 추가 코딩/분석을 중단하고 사용자의 계속 지시를 기다리세요.
[/CONTENT_MANAGEMENT_RULES]
# Roo 작업 시작 가이드
## 작업 시작 시 필수 절차
1. **`CLAUDE.md` 파일 반드시 읽기**
- 프로젝트 루트의 `CLAUDE.md` 파일을 먼저 읽어서 이전 작업 이력 확인
- 완료된 작업, 현재 진행 중인 작업, 알려진 문제점 파악
- 최근 작업 내용을 바탕으로 현재 작업과 충돌하지 않도록 주의
2. **todo 목록 생성**
- 복잡한 작업은 반드시 `update_todo_list` 도구로 todo 목록 생성
- 각 단계별로 명확한 목표 설정
3. **파일 수정 시 주의**
- `apply_diff` 도구는 정확한 검색/교체 블록 사용
- `read_file` 도구로 정확한 내용 확인 후 수정
## 데이터베이스 연결 정보
### docker container : iiot-timescaledb (주요 목적 DB)
- **Host**: localhost
- **Port**: 5432
- **Database**: iiot_platform
- **Username**: postgres
- **Password**: postgres
- **용도**: TimescaleDB 확장, 시계열 데이터 저장, Text-to-SQL 기능
### Experion DB (데이터 소스)
- **Host**: localhost
- **Port**: 5432
- **Database**: postgres
- **Username**: postgres
- **Password**: postgres
- **용도**: Experion HS R530 메타데이터 조회
## 프로젝트 개요
- **이름**: ExperionCrawler
- **기술 스택**: .NET 8 (C#), PostgreSQL, OPC UA
- **주요 기능**:
- Experion HS R530 DCS 시스템에서 실시간 데이터 크롤링
- OPC UA Client로 Experion HS R530 연결
- OPC UA Server로 외부 시스템 연결 지원
- 데이터 PostgreSQL DB 저장
- CSV 내보내기 기능
- Text-to-SQL 기능 (TimescaleDB)
## 디렉토리 구조
```
src/
├── Core/
│ ├── Application/ (DTOs, Services, Interfaces)
│ └── Domain/ (Entities)
├── Infrastructure/ (Certificates, Csv, Database, OpcUa)
└── Web/ (Controllers, Program.cs, wwwroot)
```
## 작업 규칙
- 복잡한 작업은 항상 todo 목록 먼저 생성
- 각 단계 시작 전 todo 목록 확인
- 단계 완료 후 즉시 completed 표시
- 코드 수정 전 반드시 `read_file`으로 현재 내용 확인
## 컨텍스트 관리
### 컨텍스트 캐시 최적화
- 컨텍스트 캐시가 70%를 넘으면 작업중이던 정보를 새로운 하위작업에게 넘기고 시작
- 정보의 질 저하를 방지하기 위해 컨텍스트 압축 수행
- 단일 항목 작업 중에도 컨텍스트가 가득차면 하위작업으로 분할
### 작업 분할 원칙
1. 모든 새로운 작업을 시작하기 전 todo list 생성 (`update_todo_list` 도구 사용)
2. 단일 항목 작업 중 컨텍스트 캐시 70% 초과 시:
- 현재 작업 상태를 하위작업에게 명확히 전달
- 하위작업에서 이어받아 작업 진행
- 완료 후 상위 작업에 결과 보고
3. 하위작업은 `new_task` 도구로 생성하고 mode은 현재 모드 유지 또는 적절히 선택