Skip to content

Commit f16237c

Browse files
committed
[DOCS/#268] 리포지토리 가이드라인이 적힌 AGENTS.md 파일 생성
1 parent cd184a7 commit f16237c

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

AGENTS.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Repository Guidelines
2+
3+
## Project Structure & Module Organization
4+
Orbit is a multi-module Android app. The entry point lives in `app/`, while shared layers live in `domain/` and `data/`. Reusable UI, networking, analytics, alarms, and configuration code sit in `core/*` (for example `core:designsystem`, `core:network`, `core:analytics`). Feature-specific flows ship from `feature/*` (e.g., `feature:fortune`, `feature:mission`). Common build scripts are centralized under `build-logic/` and dependency catalogues live in `gradle/`.
5+
6+
## Build, Test & Development Commands
7+
- `./gradlew assembleDebug` – Build the debug APK with all modules.
8+
- `./gradlew :app:installDebug` – Install the latest debug build on a connected device or emulator.
9+
- `./gradlew testDebugUnitTest` – Execute JVM unit tests across modules.
10+
- `./gradlew connectedDebugAndroidTest` – Run instrumentation/UI tests on a device.
11+
- `./gradlew ktlintCheck` / `ktlintFormat` – Verify or auto-format Kotlin style.
12+
13+
## Coding Style & Naming Conventions
14+
Kotlin source uses 4-space indentation, trailing commas where helpful, and idiomatic coroutines/Flow patterns. Follow Jetpack Compose best practices: hoist state, keep composables small, and preview via `@Preview` where possible. Classes, objects, and functions use UpperCamelCase or lowerCamelCase; resource IDs and Gradle task names use snake_case. Keep packages aligned with features (`feature.fortune`, `core.network`). ktlint enforces formatting; run it before opening a PR.
15+
16+
## Testing Guidelines
17+
Unit tests rely on JUnit4, MockK, and coroutine-testing; place them under `src/test`. UI and integration tests use Espresso, Compose testing, or Robolectric in `src/androidTest`. Prefer test method names that read like sentences (e.g., `shouldReturnDefaultMission_whenAlarmCreated`). For new features, cover at least happy-path and primary failure cases, and update any existing baselines.
18+
19+
## Commit & Pull Request Guidelines
20+
Commit messages follow the `"[TYPE/#issue] Summary"` convention observed in the log (e.g., `[BUGFIX/#256] Resolve ghost mission state`). Types commonly include FEAT, BUGFIX, CHORE, and HOTFIX. For pull requests, include a concise summary, linked issue reference, screenshots or screen recordings for UI-facing changes, and a checklist of tests you ran. Request reviews from module owners and ensure CI builds, tests, and ktlint checks are green before merging.

0 commit comments

Comments
 (0)