[DOCS] Agregada sección sobre CLAUDE.md y parametrización avanzada

- Se agregó una extensa sección sobre el archivo CLAUDE.md
- Documentadas funcionalidades básicas y avanzadas
- Detallada la parametrización avanzada y control de comportamiento
- Incluidos ejemplos prácticos y casos de uso especializado
- Añadidas mejores prácticas para la creación de archivos CLAUDE.md
This commit is contained in:
Mauro Rosero P. 2025-04-07 05:03:19 -05:00
parent 0732e95082
commit e41bacc7b0

View file

@ -377,6 +377,248 @@ cortana --file legacy-app.php "Este código PHP usa una versión antigua (5.6).
Cortana está basada en Claude de Anthropic, un asistente de IA de última generación. Todas las capacidades de procesamiento de lenguaje natural son proporcionadas por Claude, mientras que la interfaz CLI y las integraciones específicas para desarrollo han sido implementadas por el equipo de MRDevs Tools. Cortana está basada en Claude de Anthropic, un asistente de IA de última generación. Todas las capacidades de procesamiento de lenguaje natural son proporcionadas por Claude, mientras que la interfaz CLI y las integraciones específicas para desarrollo han sido implementadas por el equipo de MRDevs Tools.
## Archivo CLAUDE.md de Configuración
El archivo `CLAUDE.md` es una poderosa herramienta para personalizar y controlar el comportamiento de Cortana en proyectos específicos. Este archivo de configuración, cuando se coloca en la raíz de un proyecto, permite establecer parámetros, directrices y comportamientos personalizados que Cortana seguirá automáticamente al trabajar en ese proyecto.
### Funcionalidades Básicas
#### Estructura Fundamental
Un archivo `CLAUDE.md` básico tiene la siguiente estructura:
```markdown
# Instrucciones para Cortana
## Contexto del Proyecto
Este es un proyecto de [tipo de proyecto] que utiliza [tecnologías principales].
## Directrices
- Seguir el estilo de código establecido
- Documentar todas las funciones nuevas
- Mantener compatibilidad con [versión específica]
```
#### Información del Proyecto
Puedes incluir información esencial sobre el proyecto que Cortana debe conocer:
```markdown
## Información del Proyecto
- **Nombre**: MyAwesomeProject
- **Tecnologías**: React, TypeScript, Express
- **Versión**: 2.3.4
- **Patrones de Diseño**: MVVM, Factory, Singleton
```
#### Convenciones de Código
Define las convenciones de código específicas del proyecto:
```markdown
## Convenciones de Código
- Usar camelCase para variables y funciones
- Usar PascalCase para clases y componentes
- Incluir tipos explícitos en TypeScript
- Limitar líneas a 80 caracteres
- Usar async/await en lugar de Promises.then()
```
### Funcionalidades Avanzadas
#### Reglas de Generación de Código
Puedes especificar reglas detalladas para la generación de código:
```markdown
## Reglas para Generación de Código
### React Components
- Usar componentes funcionales con hooks
- Implementar prop-types o TypeScript interfaces
- Seguir patrón de presentación/contenedor
### Tests
- Crear tests unitarios con Jest
- Nombrar archivos de test como `*.test.ts`
- Implementar al menos un test por función pública
```
#### Variables y Constantes de Proyecto
Define variables o constantes específicas del proyecto:
```markdown
## Variables de Proyecto
- BASE_API_URL=https://api.example.com/v2
- MAX_RETRIES=3
- LOG_LEVEL=debug
- FEATURE_FLAGS={ "newUI": true, "analytics": false }
```
#### Comandos Personalizados
Configura comandos personalizados para tareas comunes:
```markdown
## Comandos
- build: npm run build
- test: npm test
- lint: eslint src/**/*.js
- deploy: ./scripts/deploy.sh
```
### Parametrización Avanzada
#### Control de Modo de Interacción
Puedes controlar cómo debe comportarse Cortana en diferentes situaciones:
```markdown
## Configuración de Interacción
- mode: expert # Activa el modo experto con respuestas técnicas detalladas
- verbosity: concise # Respuestas concisas (opciones: verbose, concise, minimal)
- think-aloud: true # Muestra el proceso de razonamiento
- code-focus: true # Prioriza la generación de código sobre explicaciones
```
#### Configuración de Modelos y Parámetros
Define configuraciones específicas para los modelos utilizados:
```markdown
## Configuración de Modelo
- default-model: claude-3-opus-20240229
- fallback-model: claude-3-sonnet-20240229
- temperature: 0.3 # Para respuestas más deterministas
- top-p: 0.95 # Control sobre diversidad de tokens
- max-tokens-per-response: 4000
```
#### Plantillas de Respuesta
Configura plantillas para tipos específicos de respuestas:
```markdown
## Plantillas de Respuesta
### Plantilla de Documentación
```js
/**
* @function $NAME
* @description $DESCRIPTION
* @param {$PARAM_TYPE} $PARAM_NAME - $PARAM_DESCRIPTION
* @returns {$RETURN_TYPE} $RETURN_DESCRIPTION
* @example
* $EXAMPLE_CODE
*/
```
### Plantilla de Commit
```
$TYPE($SCOPE): $SHORT_DESCRIPTION
$DETAILED_DESCRIPTION
Issue: #$ISSUE_NUMBER
```
```
#### Integración con Herramientas
Especifica cómo integrar Cortana con otras herramientas del proyecto:
```markdown
## Integraciones
- git: true # Acceso al historial Git
- npm: true # Acceso a comandos npm
- linters: ["eslint", "prettier"]
- ci: ["github-actions"]
- package-manager: "yarn"
```
#### Matriz de Decisiones
Define matrices de decisión para guiar las recomendaciones:
```markdown
## Matrices de Decisión
### Selección de Biblioteca Estado
| Caso de Uso | Recomendación |
|-------------|---------------|
| App pequeña | useState/useReducer |
| App mediana | Context API |
| App compleja | Redux Toolkit |
| App con muchos estados asíncronos | React Query + Context |
### Estrategia de Estilo
| Escenario | Recomendación |
|-----------|---------------|
| Componentes simples | CSS Modules |
| Componentes complejos | Styled Components |
| Design System | Chakra UI o MUI |
```
### Implementación y Casos de Uso
#### Implementación por Proyecto
Puedes tener diferentes archivos `CLAUDE.md` para diferentes proyectos:
```bash
~/
├── proyecto-react/
│ └── CLAUDE.md # Configuración específica para React
├── proyecto-python/
│ └── CLAUDE.md # Configuración específica para Python
```
#### Implementación para Equipos
Para equipos de desarrollo, puedes estandarizar el archivo `CLAUDE.md` para mantener consistencia:
```bash
# Crear un CLAUDE.md estándar para el equipo
cat > template-CLAUDE.md << EOF
# Instrucciones para Cortana
...
EOF
# Instalarlo en un nuevo proyecto
cp template-CLAUDE.md ~/nuevo-proyecto/CLAUDE.md
```
#### Casos de Uso Especializados
**Para Desarrollo de Microservicios:**
```markdown
## Contexto: Microservicios
- Servicio actual: inventory-service
- Protocolos: gRPC interno, REST externo
- Debe mantener API contratos en ./proto/
- Registro de servicios: Consul
- Comunicación asíncrona: Kafka
```
**Para Ciencia de Datos:**
```markdown
## Contexto: Análisis de Datos
- Formato de datos: principalmente DataFrames pandas
- Visualización preferida: Seaborn, Plotly
- Métricas a reportar: precisión, recall, F1
- Conjuntos de datos en: ./data/processed/
- Notebooks en: ./notebooks/
```
### Consejos para un CLAUDE.md Efectivo
1. **Mantén la especificidad**: Cuanto más específicas sean tus instrucciones, mejores serán los resultados.
2. **Estructura con claridad**: Usa encabezados y listas para organizar la información.
3. **Evoluciona gradualmente**: Actualiza el archivo a medida que el proyecto evoluciona.
4. **Incluye ejemplos**: Proporciona ejemplos específicos de lo que consideras código "bueno" y "malo".
5. **Versionamiento**: Mantén el archivo CLAUDE.md en control de versiones junto con el código.
## Recursos Adicionales ## Recursos Adicionales
- [Documentación Oficial de Claude](https://docs.anthropic.com/) - [Documentación Oficial de Claude](https://docs.anthropic.com/)