prasad-vennam/awesome-android-ai-agent-skills

android-lint-and-quality

Use when setting up static analysis, enforcing coding standards, or configuring Detekt/KtLint for Android.

Ver código fuente

Cómo usar

  1. Copia el comando y revisa el paquete antes de instalarlo en tu entorno de agente.
  2. Consulta las herramientas, credenciales y entornos necesarios en el documento original.
  3. Describe las entradas y el resultado deseado; contrasta la salida con las fuentes.
npx skills add https://github.com/prasad-vennam/awesome-android-ai-agent-skills --skill android-lint-and-quality

Antes de empezar

  • La instalación no incluye suscripción al modelo, cuota API ni permisos sobre tus archivos.
  • Las estrellas e instalaciones reflejan actividad, no una prueba independiente de calidad o seguridad.
Documento original del Skill

Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.

Android Code Quality & Linting 🧹🛡️

Professional strategies for enforcing team standards and preventing technical debt through automated static analysis.

⚡ When to Use

  • Code Review Readiness: Automatically checking Pull Requests for common errors.
  • Enforcing Style: Ensuring all developers follow the same Kotlin formatting.
  • Complex Bug Prevention: Using custom Lint rules to catch project-specific issues.
  • CI/CD Automation: Failing builds on logic or style violations.
  • Gradual Refactoring: Deprecating legacy methods and encouraging migration.

🏗️ The 3 Layers of Analysis

1. Android Lint (Built-in)

  • Rules: Catch memory leaks, missing accessibility labels, and incorrect resource usages.
  • Customization: Use lint-rules module to write your own rules specific to your app architecture.

2. Detekt (Core Logic Static Analysis)

  • Benefit: Checks for code smells (Long methods, deep nested loops, cognitive complexity).
  • Gradle Task: ./gradlew detekt

3. KtLint (Formatting)

  • Benefit: Focuses purely on coding style (Indentation, line length, spacing).
  • Rule: Follow the Official Android Kotlin Style Guide.
  • Gradle Task: ./gradlew ktlintCheck / ./gradlew ktlintFormat

🚀 Quality Enforcement Checklist

  • [ ] Fail Fast: Set abortOnError = true in Gradle to ensure bad code never stays in the repo.
  • [ ] Custom Rules: For example: "No Log.d allowed in production" or "All ViewModels must inherit from BaseViewModel".
  • [ ] Baseline Files: Use baseline.xml to ignore existing issues in older code and only enforce rules on new changes.

🛠️ Configuration Example

kotlin
// build.gradle.kts
lint {
    isWarningsAsErrors = true
    isAbortOnError = true
    xmlReport = true
    htmlReport = true
}

detekt {
    buildUponDefaultConfig = true
    allRules = false
    config = files("$projectDir/config/detekt.yml")
}

📐 Team Policy Best Practices

  • Pre-commit Hooks: Use Git Hooks to run KtLint locally before pushing.
  • CI Report Annotation: Configure CI (e.g., GitHub Actions) to comment directly on PR lines with Lint/Detekt findings.
  • Quality Gates: Maintain a score using tools like SonarQube or Codecov.

🧪 Testing Your Quality Setup

  • Lint Tests: Use LintDetectorTest to verify that your custom rules actually catch what they should.
  • Baseline Evolution: Regularly review and clean up baseline files to pay down technical debt.

🔗 Related Resources

Relacionados por tarea

del mismo repositorio

Más Skills

Todos los Skills