Code Commands
Commands para explicar, simplificar y transformar código.
/explain
Explica código seleccionado en detalle con contexto y ejemplos.
Uso
/explain
Aplicar sobre código seleccionado o pegado en el chat.
¿Qué hace?
- Analiza el código proporcionado
- Identifica conceptos clave
- Explica la lógica paso a paso
- Proporciona contexto sobre patrones usados
- Incluye ejemplos de uso si aplica
Ejemplo
// Código a explicar
const debounce = (fn, delay) => {
let timeoutId;
return (...args) => {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => fn.apply(this, args), delay);
};
};
Output:
Esta función implementa el patrón debounce, que retrasa la ejecución de una función hasta que pase un tiempo sin nuevas llamadas.
Cómo funciona:
- Mantiene un
timeoutIden closure- Cada llamada cancela el timeout anterior
- Solo ejecuta
fnsi pasandelayms sin nuevas llamadasUso común: Inputs de búsqueda, resize handlers, scroll events.
/simplify
Simplifica y refactoriza código complejo.
Uso
/simplify
¿Qué hace?
- Analiza el código proporcionado
- Identifica complejidad innecesaria
- Aplica principios KISS
- Propone versión simplificada
- Explica los cambios
Criterios de simplificación
- Reducir nesting
- Eliminar código muerto
- Extraer funciones helper
- Simplificar condicionales
- Usar features del lenguaje apropiadamente
Ejemplo
Antes:
function getStatus(user) {
if (user !== null && user !== undefined) {
if (user.isActive === true) {
if (user.role === 'admin') {
return 'admin-active';
} else {
return 'user-active';
}
} else {
return 'inactive';
}
} else {
return 'unknown';
}
}
Después:
function getStatus(user) {
if (!user) return 'unknown';
if (!user.isActive) return 'inactive';
return user.role === 'admin' ? 'admin-active' : 'user-active';
}
/translate
Traduce código entre lenguajes de programación.
Uso
/translate to:python
/translate to:typescript
/translate to:go
Lenguajes soportados
- JavaScript / TypeScript
- Python
- Go
- Java
- Rust
- Ruby
- C# / F#
- Y más…
¿Qué hace?
- Analiza el código fuente
- Identifica patrones e idioms
- Traduce a idioms del lenguaje destino
- Adapta tipos y estructuras
- Agrega comentarios sobre diferencias
Ejemplo
Input (JavaScript):
const users = data.filter(u => u.active).map(u => u.name);
Output (Python):
users = [u.name for u in data if u.active]
Output (Go):
var users []string
for _, u := range data {
if u.Active {
users = append(users, u.Name)
}
}
Notas
- La traducción preserva la lógica pero usa idioms nativos
- Tipos se infieren o adaptan según el lenguaje destino
- Se agregan imports/dependencies necesarias
Referencia rápida
# Explicar código
/explain
# Simplificar código complejo
/simplify
# Traducir a otro lenguaje
/translate to:python
/translate to:go
/translate to:typescript