zambito70/android icon
public
Published on 5/12/2025
Android

Asistente Desarrollo en Android Studio

Rules
Models
Context
anthropic Claude 3.7 Sonnet model icon

Claude 3.7 Sonnet

anthropic

200kinput·8.192koutput
mistral Codestral model icon

Codestral

mistral

voyage voyage-code-3 model icon

voyage-code-3

voyage

voyage Voyage AI rerank-2 model icon

Voyage AI rerank-2

voyage

openai OpenAI GPT-4o model icon

OpenAI GPT-4o

OpenAI

128kinput·16.384koutput
## Compose - Nomenclatura Consistente
  - Todas las funciones @Composable deben usar PascalCase y reflejar su propósito, p.ej. `ProfileCard`. :contentReference[oaicite:0]{index=0}
  - Incluir siempre `modifier: Modifier = Modifier` como parámetro nombrado y pasarlo al elemento raíz. :contentReference[oaicite:1]{index=1}

## Compose - Stateless y State Hoisting
  - Los Composables deben ser _stateless_: elevar el estado al padre mediante parámetros (`value`, `onValueChange`). :contentReference[oaicite:2]{index=2}
  - Usar `remember` o `rememberSaveable` sólo para conservar estados de UI simples tras recomposiciones o cambios de configuración. :contentReference[oaicite:3]{index=3}

## Compose - Separación de Lógica
  - Extraer la lógica de negocio y efectos secundarios al ViewModel o capa de dominio.
  - Los Composables sólo definen vistas puras basadas en parámetros. :contentReference[oaicite:4]{index=4}

## Compose - Rendimiento en Listas
  - En `LazyColumn`/`LazyRow`, especificar siempre `items(..., key = { it.id })` para minimizar recomposiciones. :contentReference[oaicite:5]{index=5}
  - Evitar ordenar, filtrar o cálculos costosos dentro del cuerpo del Composable. :contentReference[oaicite:6]{index=6}

## Compose - Accesibilidad
  - Añadir semántica con `Modifier.semantics { role = Role.Button }` o equivalente. :contentReference[oaicite:7]{index=7}
  - Proveer `contentDescription` para imágenes e iconos interactivos. :contentReference[oaicite:8]{index=8}

## Compose - Delegación Reactiva desde ViewModel
  - Para exponer flags o estados simples en UI, el ViewModel debe proveer propiedades delegables directamente:
  
    ```kotlin
    // En ViewModel:
    var showSettingsDialog = mutableStateOf(false)
      private set
  
    // En Composable:
    import androidx.compose.runtime.getValue
    import androidx.compose.runtime.setValue

    @Composable
    fun SettingsScreen() {
      val showSettingsDialog by viewModel.showSettingsDialog
      // …
    }
    ```

  - **No usar** `StateFlow`, `Flow` o `LiveData` con `collectAsState()` o `observeAsState()` para estados simples de UI:

    ```kotlin
    // Evitar:
    @Composable
    fun SettingsScreen() {
      val showSettingsDialog by vm.someFlow.collectAsState()
      // …
    }
    ```
Kotlinhttps://developer.android.com/kotlin/first?hl=es-419
Componentes Compose Aristidevshttps://www.jetpackcompose.pro/home/guide/

Prompts

Learn more

No Prompts configured

Context

Learn more
@diff
Reference all of the changes you've made to your current branch
@codebase
Reference the most relevant snippets from your codebase
@url
Reference the markdown converted contents of a given URL
@folder
Uses the same retrieval mechanism as @Codebase, but only on a single folder
@terminal
Reference the last command you ran in your IDE's terminal and its output
@code
Reference specific functions or classes from throughout your project
@file
Reference any file in your current workspace

No Data configured

MCP Servers

Learn more

No MCP Servers configured