Files
raman/AGENTS.md
2026-02-28 12:45:29 +09:00

2.2 KiB

Repository Guidelines

프로젝트 구조 및 모듈 구성

  • app/: 메인 Android 애플리케이션 모듈.
  • app/src/main/java/: Kotlin/Java 소스(Compose UI, DI, Room 등).
  • app/src/main/cpp/: CMake 빌드(CMakeLists.txt)를 사용하는 네이티브 코드.
  • app/src/main/res/: Android 리소스(레이아웃, 드로어블, 문자열).
  • app/src/main/assets/: 앱 에셋(raman_res.zip 포함).
  • app/src/androidTest/java/: 계측 테스트.
  • build/app/build/: Gradle 빌드 산출물.
  • gradle/gradlew: Gradle wrapper 및 버전 카탈로그.
  • keystore/: 모듈에서 사용하는 디버그/릴리스 키스토어.

빌드, 테스트 및 개발 명령어

  • ./gradlew build: 전체 빌드(유닛 테스트 포함).
  • ./gradlew assembleDebug: 디버그 APK 빌드.
  • ./gradlew assembleRelease: 릴리스 APK 빌드(keystore/ 사용).
  • ./gradlew bundleRelease: 릴리스 AAB 번들 생성.
  • ./gradlew installDebug: 연결된 기기/에뮬레이터에 디버그 빌드 설치.
  • ./gradlew lint: Android Lint 실행.
  • ./gradlew connectedAndroidTest: 기기/에뮬레이터에서 계측 테스트 실행.
  • ./gradlew clean: 빌드 산출물 삭제.

코딩 스타일 및 네이밍 규칙

  • Kotlin/Java: Android 표준 스타일, 4칸 들여쓰기.
  • 클래스/Composable: PascalCase (예: MainViewModel, SettingsScreen).
  • 함수/변수: camelCase (예: loadProfile, isLoading).
  • 리소스: snake_case (예: ic_scan, screen_title).
  • 포맷터는 설정되어 있지 않으므로, 주변 코드 스타일에 맞춰 작성.

테스트 가이드

  • 계측 테스트는 app/src/androidTest/java/에 위치.
  • AndroidX 테스트 러너 + Espresso/Compose 테스트 API 사용.
  • ./gradlew connectedAndroidTest로 실행.

커밋 및 PR 가이드라인

  • 이 워크스페이스에는 Git 히스토리가 없어 강제 커밋 규칙이 없음.
  • 간결하고 명령형 커밋 메시지 권장 (예: Fix scan timeout).
  • PR에는 변경 요약, 테스트 결과, UI 변경 시 스크린샷 포함.

보안 및 설정 팁

  • local.properties에는 Android SDK 경로를 지정하며 커밋하지 않음.
  • keystore/의 키스토어는 로컬 빌드용이며, 프로덕션 배포 시 교체 필요.