mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
feat: add Kotlin, Android, and KMP rules, agent, skills, and command
This commit is contained in:
70
commands/gradle-build.md
Normal file
70
commands/gradle-build.md
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
description: Fix Gradle build errors for Android and KMP projects
|
||||
---
|
||||
|
||||
# Gradle Build Fix
|
||||
|
||||
Incrementally fix Gradle build and compilation errors for Android and Kotlin Multiplatform projects.
|
||||
|
||||
## Step 1: Detect Build Configuration
|
||||
|
||||
Identify the project type and run the appropriate build:
|
||||
|
||||
| Indicator | Build Command |
|
||||
|-----------|---------------|
|
||||
| `build.gradle.kts` + `composeApp/` (KMP) | `./gradlew composeApp:compileKotlinMetadata 2>&1` |
|
||||
| `build.gradle.kts` + `app/` (Android) | `./gradlew app:compileDebugKotlin 2>&1` |
|
||||
| `settings.gradle.kts` with modules | `./gradlew assemble 2>&1` |
|
||||
| Detekt configured | `./gradlew detekt 2>&1` |
|
||||
|
||||
Also check `gradle.properties` and `local.properties` for configuration.
|
||||
|
||||
## Step 2: Parse and Group Errors
|
||||
|
||||
1. Run the build command and capture output
|
||||
2. Separate Kotlin compilation errors from Gradle configuration errors
|
||||
3. Group by module and file path
|
||||
4. Sort: configuration errors first, then compilation errors by dependency order
|
||||
|
||||
## Step 3: Fix Loop
|
||||
|
||||
For each error:
|
||||
|
||||
1. **Read the file** — Full context around the error line
|
||||
2. **Diagnose** — Common categories:
|
||||
- Missing import or unresolved reference
|
||||
- Type mismatch or incompatible types
|
||||
- Missing dependency in `build.gradle.kts`
|
||||
- Expect/actual mismatch (KMP)
|
||||
- Compose compiler error
|
||||
3. **Fix minimally** — Smallest change that resolves the error
|
||||
4. **Re-run build** — Verify fix and check for new errors
|
||||
5. **Continue** — Move to next error
|
||||
|
||||
## Step 4: Guardrails
|
||||
|
||||
Stop and ask the user if:
|
||||
- Fix introduces more errors than it resolves
|
||||
- Same error persists after 3 attempts
|
||||
- Error requires adding new dependencies or changing module structure
|
||||
- Gradle sync itself fails (configuration-phase error)
|
||||
- Error is in generated code (Room, SQLDelight, KSP)
|
||||
|
||||
## Step 5: Summary
|
||||
|
||||
Report:
|
||||
- Errors fixed (module, file, description)
|
||||
- Errors remaining
|
||||
- New errors introduced (should be zero)
|
||||
- Suggested next steps
|
||||
|
||||
## Common Gradle/KMP Fixes
|
||||
|
||||
| Error | Fix |
|
||||
|-------|-----|
|
||||
| Unresolved reference in `commonMain` | Check if the dependency is in `commonMain.dependencies {}` |
|
||||
| Expect declaration without actual | Add `actual` implementation in each platform source set |
|
||||
| Compose compiler version mismatch | Align Kotlin and Compose compiler versions in `libs.versions.toml` |
|
||||
| Duplicate class | Check for conflicting dependencies with `./gradlew dependencies` |
|
||||
| KSP error | Run `./gradlew kspCommonMainKotlinMetadata` to regenerate |
|
||||
| Configuration cache issue | Check for non-serializable task inputs |
|
||||
Reference in New Issue
Block a user