Gestionar sistemáticamente docstrings/comentarios multilingües y mantener documentación de alta calidad.
Generates multilingual docstrings and comments following language-specific standards and conventions.
/plugin marketplace add wasabeef/claude-code-cookbook/plugin install cook-es@claude-code-cookbookGestionar sistemáticamente docstrings/comentarios multilingües y mantener documentación de alta calidad.
# Ejecutar con detección automática de idioma
"Por favor agregar docstrings a clases y funciones sin ellos, y actualizar comentarios que no cumplan estándares"
# Ejecutar con idioma especificado
/update-doc-string --lang python
"Por favor actualizar docstrings en archivos Python para cumplir con PEP 257"
# Mantener documentación para directorios específicos
"Por favor agregar JSDoc a funciones bajo src/components/"
--lang <es|en|ja> : Idioma de documentación (por defecto: auto-detectado de comentarios existentes, sino es)--style <estilo> : Especificar estilo de documentación (tiene valores por defecto específicos del idioma)--marker <true|false> : Si agregar marcadores Claude (por defecto: true)# 1. Analizar archivos objetivo (lenguaje de programación auto-detectado)
find . -type f \( -name "*.py" -o -name "*.js" -o -name "*.ts" -o -name "*.dart" -o -name "*.go" -o -name "*.rs" \) | grep -v test
"Por favor identificar elementos con docstrings insuficientes (0 líneas de comentario o menos de 30 caracteres)"
# 2. Agregar documentación (detección automática de idioma)
"Por favor agregar docstrings que contengan elementos requeridos específicos del idioma a los elementos identificados"
# → Si comentarios existentes contienen español, escribir en español; sino, escribir en inglés
# 3. Agregar documentación (especificar explícitamente español)
/update-doc-string --lang es
"Agregar docstrings con elementos requeridos a los elementos identificados"
# 4. Verificar marcadores
"Por favor confirmar que todos los docstrings agregados/actualizados tienen marcadores Claude"
Elementos Objetivo (Comunes Entre Idiomas):
Python (PEP 257):
# Versión en español (por defecto)
def calculate_total(items: List[Item]) -> float:
"""Calcular el monto total para una lista de elementos. (30-60 caracteres)
Multiplica el precio y cantidad de cada elemento y devuelve
el total con impuestos. Devuelve 0.0 para listas vacías. (50-200 caracteres)
Args:
items: Lista de elementos a calcular
Returns:
Monto total con impuestos
Generado por Claude 🤖
"""
# Versión en inglés (--lang en)
def calculate_total(items: List[Item]) -> float:
"""Calculate the total amount for a list of items. (30-60 chars)
Multiplies the price and quantity of each item and returns
the total with tax. Returns 0.0 for empty lists. (50-200 chars)
Args:
items: List of items to calculate
Returns:
Total amount with tax
Generated by Claude 🤖
"""
JavaScript/TypeScript (JSDoc):
/**
* Componente que muestra un perfil de usuario. (30-60 caracteres)
*
* Muestra imagen de avatar, nombre de usuario e información de estado,
* y navega a la pantalla de detalle de perfil cuando se hace clic. (50-200 caracteres)
*
* @param {Object} props - Propiedades del componente
* @param {string} props.userId - ID del usuario
* @param {boolean} [props.showStatus=true] - Bandera de visualización de estado
* @returns {JSX.Element} Componente renderizado
*
* @generated by Claude 🤖
*/
const UserProfile = ({ userId, showStatus = true }) => {
Go:
// CalculateTotal calcula el monto total para una lista de elementos. (30-60 caracteres)
//
// Multiplica el precio y cantidad de cada elemento y devuelve
// el total con impuestos. Devuelve 0.0 para slices vacíos. (50-200 caracteres)
//
// Generado por Claude 🤖
func CalculateTotal(items []Item) float64 {
Rust:
/// Calcular el monto total para una lista de elementos. (30-60 caracteres)
///
/// Multiplica el precio y cantidad de cada elemento y devuelve
/// el total con impuestos. Devuelve 0.0 para vectores vacíos. (50-200 caracteres)
///
/// Generado por Claude 🤖
pub fn calculate_total(items: &[Item]) -> f64 {
Información Importante a Retener:
Ver también:, @see, Referencias: etc.TODO:, FIXME:, XXX:Nota:, Advertencia:, Importante: etc.Ejemplo:, Uso:, # Ejemplos etc.# Configuraciones por defecto específicas del idioma
languages:
python:
style: "google" # google, numpy, sphinx
indent: 4
quotes: '"""'
javascript:
style: "jsdoc"
indent: 2
prefix: "/**"
suffix: "*/"
typescript:
style: "tsdoc"
indent: 2
prefix: "/**"
suffix: "*/"
go:
style: "godoc"
indent: 0
prefix: "//"
rust:
style: "rustdoc"
indent: 0
prefix: "///"
dart:
style: "dartdoc"
indent: 0
prefix: "///"
🔴 Prohibiciones Estrictas:
# Analizar proyecto completo (detección automática de idioma)
find . -type f \( -name "*.py" -o -name "*.js" -o -name "*.ts" \)
/update-doc-string
"Actualizar docstrings de este proyecto siguiendo mejores prácticas específicas del idioma"
# → Si comentarios existentes contienen español, ejecutar con es; sino, ejecutar con en
# Ejecutar explícitamente con documentación en inglés
/update-doc-string --lang en
"Actualizar docstrings siguiendo mejores prácticas específicas del idioma"
# Ejecutar explícitamente con documentación en español
/update-doc-string --lang es
"Actualizar docstrings de este proyecto siguiendo mejores prácticas específicas del idioma"
# Ejecutar sin marcadores (detección automática de idioma)
/update-doc-string --marker false
"Mejorar docstrings existentes sin agregar marcadores Claude"
Métricas de Calidad
Indicadores de Finalización
# Variables de entorno para personalización
export DOC_LANGUAGE="es" # Idioma de documentación (es/en)
export ADDED_COMMENTS=0 # Contador de comentarios agregados
export UPDATED_COMMENTS=0 # Contador de comentarios actualizados
export ERRORS=0 # Contador de errores
# Verificación de herramientas requeridas
if command -v pylint &> /dev/null; then
pylint --version
fi
if command -v eslint &> /dev/null; then
eslint --version
fi
# Análisis estático específico del lenguaje
if [ -f "*.py" ]; then
python -m py_compile *.py
elif [ -f "*.js" ] || [ -f "*.ts" ]; then
npm run lint
elif [ -f "*.dart" ]; then
melos analyze
fi
if [ $? -ne 0 ]; then
echo "🔴 Error: Análisis estático falló"
exit 1
fi
# Resumen de ejecución
echo "📊 Resultados de ejecución:"
echo "- Idioma de documentación: $DOC_LANGUAGE"
echo "- Comentarios agregados: $ADDED_COMMENTS elementos"
echo "- Comentarios actualizados: $UPDATED_COMMENTS elementos"
echo "- Número de errores: $ERRORS elementos"
Criterios de Completitud
Juicio de Finalización: Exitoso cuando se cumplen todos los siguientes:
Éxito Parcial: En los siguientes casos:
Fallo: En los siguientes casos: