{"owner":"coil-kt","repo":"coil","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# Repository Guidelines\n\n## Project Structure & Module Organization\nThis is a Kotlin Multiplatform monorepo built with Gradle. Public library modules live at the repository root (for example `coil-core`, `coil-compose`, `coil-network-okhttp`, `coil-gif`, `coil-svg`, `coil-video`, `coil-test`, `coil-bom`). Internal tooling and test support modules are under `internal/`, and runnable examples are under `samples/` (`samples:compose`, `samples:compose-android`, `samples:view`).\n\nMost modules use source sets like `src/commonMain`, `src/commonTest`, `src/androidMain`, `src/androidUnitTest`, and `src/androidInstrumentedTest`. Documentation content lives in `docs/`.\n\n## Build, Test, and Development Commands\n- `./gradlew spotlessCheck`: run Kotlin formatting/lint checks.\n- `./gradlew lint`: run Android lint checks.\n- `./gradlew checkKotlinAbi`: verify public API compatibility.\n- `./gradlew updateKotlinAbi`: refresh ABI baselines when API changes are intentional.\n- `./test.sh`: full local validation used by maintainers (style + unit/instrumentation/screenshot tests).\n- `./gradlew allTests testDebugUnitTest`: run core unit tests quickly.\n- `./gradlew connectedDebugAndroidTest`: run Android instrumentation tests (emulator/device required).\n\n## Coding Style & Naming Conventions\nFollow `.editorconfig`: UTF-8, LF endings, 4-space indentation, max line length 100, final newline, no trailing whitespace. Kotlin formatting is enforced via Spotless + ktlint (`intellij_idea` style with project-specific rule overrides).\n\nMatch existing naming patterns: packages under `coil3.*`, types in `UpperCamelCase`, members in `lowerCamelCase`, constants in `UPPER_SNAKE_CASE`. Keep file names aligned with primary types (for example `NetworkFetcher.kt`).\n\n## Testing Guidelines\nTests use Kotlin Test/JUnit, Robolectric, Android instrumentation, and screenshot tooling (Paparazzi/Roborazzi/Compose screenshot validation). Name test files `*Test.kt` and place them in the appropriate source set (`commonTest`, `androidUnitTest`, etc.).\n\nFor bug fixes, add or update a failing test first when possible. Run `./test.sh` before opening a PR.\n\n## Commit & Pull Request Guidelines\nUse concise, imperative commit subjects (for example `Fix macOS test flakiness`). Dependency updates commonly use Conventional Commit style (for example `fix(deps): ...` or `chore(deps): ...`).\n\nPRs should include:\n- A clear summary of what changed and why.\n- Linked issue(s) when applicable.\n- Test evidence (commands run, and screenshots for UI/screenshot test changes).\n- Updated ABI files when public API changes are intentional.\n- Add the following text at the end of the last line of the PR description: `review-path-agent`.\n\nBefore submitting, ensure `./test.sh` passes locally.\n"},"files":{"AGENTS.md":"# Repository Guidelines\n\n## Project Structure & Module Organization\nThis is a Kotlin Multiplatform monorepo built with Gradle. Public library modules live at the repository root (for example `coil-core`, `coil-compose`, `coil-network-okhttp`, `coil-gif`, `coil-svg`, `coil-video`, `coil-test`, `coil-bom`). Internal tooling and test support modules are under `internal/`, and runnable examples are under `samples/` (`samples:compose`, `samples:compose-android`, `samples:view`).\n\nMost modules use source sets like `src/commonMain`, `src/commonTest`, `src/androidMain`, `src/androidUnitTest`, and `src/androidInstrumentedTest`. Documentation content lives in `docs/`.\n\n## Build, Test, and Development Commands\n- `./gradlew spotlessCheck`: run Kotlin formatting/lint checks.\n- `./gradlew lint`: run Android lint checks.\n- `./gradlew checkKotlinAbi`: verify public API compatibility.\n- `./gradlew updateKotlinAbi`: refresh ABI baselines when API changes are intentional.\n- `./test.sh`: full local validation used by maintainers (style + unit/instrumentation/screenshot tests).\n- `./gradlew allTests testDebugUnitTest`: run core unit tests quickly.\n- `./gradlew connectedDebugAndroidTest`: run Android instrumentation tests (emulator/device required).\n\n## Coding Style & Naming Conventions\nFollow `.editorconfig`: UTF-8, LF endings, 4-space indentation, max line length 100, final newline, no trailing whitespace. Kotlin formatting is enforced via Spotless + ktlint (`intellij_idea` style with project-specific rule overrides).\n\nMatch existing naming patterns: packages under `coil3.*`, types in `UpperCamelCase`, members in `lowerCamelCase`, constants in `UPPER_SNAKE_CASE`. Keep file names aligned with primary types (for example `NetworkFetcher.kt`).\n\n## Testing Guidelines\nTests use Kotlin Test/JUnit, Robolectric, Android instrumentation, and screenshot tooling (Paparazzi/Roborazzi/Compose screenshot validation). Name test files `*Test.kt` and place them in the appropriate source set (`commonTest`, `androidUnitTest`, etc.).\n\nFor bug fixes, add or update a failing test first when possible. Run `./test.sh` before opening a PR.\n\n## Commit & Pull Request Guidelines\nUse concise, imperative commit subjects (for example `Fix macOS test flakiness`). Dependency updates commonly use Conventional Commit style (for example `fix(deps): ...` or `chore(deps): ...`).\n\nPRs should include:\n- A clear summary of what changed and why.\n- Linked issue(s) when applicable.\n- Test evidence (commands run, and screenshots for UI/screenshot test changes).\n- Updated ABI files when public API changes are intentional.\n- Add the following text at the end of the last line of the PR description: `review-path-agent`.\n\nBefore submitting, ensure `./test.sh` passes locally.\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# Repository Guidelines\n\n## Project Structure & Module Organization\nThis is a Kotlin Multiplatform monorepo built with Gradle. Public library modules live at the repository root (for example `coil-core`, `coil-compose`, `coil-network-okhttp`, `coil-gif`, `coil-svg`, `coil-video`, `coil-test`, `coil-bom`). Internal tooling and test support modules are under `internal/`, and runnable examples are under `samples/` (`samples:compose`, `samples:compose-android`, `samples:view`).\n\nMost modules use source sets like `src/commonMain`, `src/commonTest`, `src/androidMain`, `src/androidUnitTest`, and `src/androidInstrumentedTest`. Documentation content lives in `docs/`.\n\n## Build, Test, and Development Commands\n- `./gradlew spotlessCheck`: run Kotlin formatting/lint checks.\n- `./gradlew lint`: run Android lint checks.\n- `./gradlew checkKotlinAbi`: verify public API compatibility.\n- `./gradlew updateKotlinAbi`: refresh ABI baselines when API changes are intentional.\n- `./test.sh`: full local validation used by maintainers (style + unit/instrumentation/screenshot tests).\n- `./gradlew allTests testDebugUnitTest`: run core unit tests quickly.\n- `./gradlew connectedDebugAndroidTest`: run Android instrumentation tests (emulator/device required).\n\n## Coding Style & Naming Conventions\nFollow `.editorconfig`: UTF-8, LF endings, 4-space indentation, max line length 100, final newline, no trailing whitespace. Kotlin formatting is enforced via Spotless + ktlint (`intellij_idea` style with project-specific rule overrides).\n\nMatch existing naming patterns: packages under `coil3.*`, types in `UpperCamelCase`, members in `lowerCamelCase`, constants in `UPPER_SNAKE_CASE`. Keep file names aligned with primary types (for example `NetworkFetcher.kt`).\n\n## Testing Guidelines\nTests use Kotlin Test/JUnit, Robolectric, Android instrumentation, and screenshot tooling (Paparazzi/Roborazzi/Compose screenshot validation). Name test files `*Test.kt` and place them in the appropriate source set (`commonTest`, `androidUnitTest`, etc.).\n\nFor bug fixes, add or update a failing test first when possible. Run `./test.sh` before opening a PR.\n\n## Commit & Pull Request Guidelines\nUse concise, imperative commit subjects (for example `Fix macOS test flakiness`). Dependency updates commonly use Conventional Commit style (for example `fix(deps): ...` or `chore(deps): ...`).\n\nPRs should include:\n- A clear summary of what changed and why.\n- Linked issue(s) when applicable.\n- Test evidence (commands run, and screenshots for UI/screenshot test changes).\n- Updated ABI files when public API changes are intentional.\n- Add the following text at the end of the last line of the PR description: `review-path-agent`.\n\nBefore submitting, ensure `./test.sh` passes locally.\n","category":"root","tokens":689}]}