kcg-ai-monitoring/CLAUDE.md
htlee 1eccbd7a72 chore: 팀 워크플로우 초기화 + Prettier + 타입 에러 수정
- /init-project로 팀 표준 워크플로우 적용 (CLAUDE.md, settings.json hooks, pre-commit)
- Prettier + eslint-config-prettier 설치 및 ESLint 연동
- format/format:check npm 스크립트 추가
- vite-env.d.ts 추가 (import.meta.env 타입 정의)
- pre-commit 차단 해제: GearDetection/BaseChart 타입 캐스팅

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 08:44:28 +09:00

2.3 KiB

KCG AI Monitoring

해양경찰청 AI 기반 불법어선 탐지 및 단속 지원 플랫폼

기술 스택

  • 프레임워크: React 19 + TypeScript 5.9
  • 빌드: Vite 8
  • 스타일: Tailwind CSS 4 + CVA (class-variance-authority)
  • 지도: MapLibre GL 5 + deck.gl 9
  • 차트: ECharts 6
  • 상태관리: Zustand 5
  • 다국어: i18next (ko/en, 10개 네임스페이스)
  • 라우팅: React Router 7
  • 린트: ESLint 10 (flat config)

명령어

npm run dev        # 개발 서버 (Vite)
npm run build      # 프로덕션 빌드
npm run lint       # ESLint 검사
npm run lint:fix   # ESLint 자동 수정
npm run format     # Prettier 포맷팅
npm run format:check  # 포맷팅 검사

디렉토리 구조

src/
├── app/           # 라우터, 인증, 레이아웃
├── features/      # 13개 도메인 모듈 (31+ 페이지)
│   ├── admin/          # 관리자
│   ├── ai-operations/  # AI 작전
│   ├── auth/           # 인증
│   ├── dashboard/      # 대시보드
│   ├── detection/      # 탐지
│   ├── enforcement/    # 단속
│   ├── field-ops/      # 현장작전
│   ├── monitoring/     # 모니터링
│   ├── patrol/         # 순찰
│   ├── risk-assessment/# 위험평가
│   ├── statistics/     # 통계
│   ├── surveillance/   # 감시
│   └── vessel/         # 선박
├── lib/           # 공유 라이브러리
│   ├── charts/    # ECharts 래퍼 + 프리셋
│   ├── i18n/      # i18next 설정 + 로케일
│   ├── map/       # MapLibre + deck.gl 통합
│   └── theme/     # 디자인 토큰 + CVA 변형
├── data/mock/     # 7개 목 데이터 모듈
├── stores/        # Zustand 스토어 (8개)
├── services/      # API 서비스 샘플
├── shared/        # 공유 UI 컴포넌트
└── styles/        # CSS (Dark/Light 테마)

Path Alias

Alias 경로
@/ src/
@lib/ src/lib/
@shared/ src/shared/
@features/ src/features/
@data/ src/data/
@stores/ src/stores/

팀 컨벤션

  • 팀 규칙은 .claude/rules/ 참조
  • 커밋: Conventional Commits (한국어), .githooks/commit-msg로 검증
  • Git Hooks: .githooks/ (core.hooksPath 설정됨)