# dart-app-core project rules

## 응답 언어

- 기본 응답은 한국어로 작성한다.

## 프로젝트 개요

`dart-app-core`는 Dart 라이브러리 패키지다. 애플리케이션 초기화, 플랫폼별 I/O 추상화, 문자셋 변환, 자막 파서, Slack 전송 등 앱 공통 기능을 제공한다.

## 기술 스택

- Dart SDK `>=3.2.3 <4.0.0`
- `json_serializable` / `build_runner` 기반 생성 코드
- `test` 기반 테스트
- 주요 의존성: `path`, `args`, `json_annotation`, `archive`, `ftpconnect`, `yaml`, `http`, `color`, `encrypt`

## 프로젝트 특화 컨벤션

- `*.g.dart` 파일은 생성 코드로 보고 직접 수정하지 않는다.
- 플랫폼 분기는 `platform_stub.dart`, `platform_io.dart`, `platform_web.dart`의 조건부 import 구조를 유지한다.
- 패키지 공개 API를 변경할 때는 `lib/dart_framework.dart` 및 관련 top-level export 파일을 함께 확인한다.
- 문자셋 테이블/매핑 파일은 대량 데이터 성격이 있으므로 포맷 churn을 피한다.

## 도메인 매핑

| 경로 패턴 | 도메인 | rules.md |
|----------|--------|----------|
| `lib/core/**`, `lib/model/**`, `lib/data/**`, `lib/src/**`, `lib/dart_framework.dart` | application-core | `agent-ops/rules/project/domain/application-core/rules.md` |
| `lib/charset/**`, `lib/charset.dart`, `lib/cp949.dart`, `lib/code_map.dart` | charset | `agent-ops/rules/project/domain/charset/rules.md` |
| `lib/subtitle/**` | subtitle | `agent-ops/rules/project/domain/subtitle/rules.md` |
| `lib/platform/**`, `lib/utils/**`, `lib/log/**`, `lib/encrypt/**` | platform-utilities | `agent-ops/rules/project/domain/platform-utilities/rules.md` |

## 스킬 라우팅

현재 프로젝트 전용 스킬은 없다. 반복 작업이 안정적으로 드러난 뒤 `agent-ops/skills/project/`에 추가한다.
