Skip to content

Configuración de Ejemplo: Nivel de Proyecto y Usuario ​

Lo que podrás hacer después de esta lección ​

  • Configurar rápidamente el archivo CLAUDE.md para tu proyecto
  • Establecer configuración de usuario global para mejorar la eficiencia de desarrollo
  • Personalizar la barra de estado para mostrar información clave
  • Ajustar las plantillas de configuración según las necesidades del proyecto

Tu situación actual ​

Al enfrentarte a los archivos de configuración de Everything Claude Code, podrías:

  • No saber por dónde empezar: ¿Cuál es la diferencia entre la configuración de nivel de proyecto y de usuario? ¿Dónde se coloca cada una?
  • Archivos de configuración demasiado largos: ¿Qué contenido debo escribir en CLAUDE.md? ¿Qué es obligatorio?
  • Barra de estado insuficiente: ¿Cómo personalizar la barra de estado para mostrar más información útil?
  • No saber cómo personalizar: ¿Cómo ajustar las configuraciones de ejemplo según las necesidades del proyecto?

Este documento proporciona ejemplos de configuración completos para ayudarte a comenzar rápidamente con Everything Claude Code.


Resumen de Jerarquía de Configuración ​

Everything Claude Code admite dos niveles de configuración:

Tipo de ConfiguraciónUbicaciónAlcanceUso Típico
Configuración de Nivel de ProyectoDirectorio raíz del proyecto CLAUDE.mdSolo el proyecto actualReglas específicas del proyecto, stack tecnológico, estructura de archivos
Configuración de Nivel de Usuario~/.claude/CLAUDE.mdTodos los proyectosPreferencias de codificación personal, reglas universales, configuración del editor

Prioridad de Configuración

Cuando existen configuraciones de nivel de proyecto y de usuario simultáneamente:

  • Reglas combinadas: Ambos conjuntos de reglas se aplicarán
  • Manejo de conflictos: La configuración de nivel de proyecto tiene prioridad sobre la configuración de nivel de usuario
  • Práctica recomendada: Coloca reglas generales en la configuración de usuario y reglas específicas del proyecto en la configuración de nivel de proyecto

1. Ejemplo de Configuración de Nivel de Proyecto ​

1.1 Ubicación del Archivo de Configuración ​

Guarda el siguiente contenido en el archivo CLAUDE.md en el directorio raíz del proyecto:

markdown
# Nombre del Proyecto CLAUDE.md

## Resumen del Proyecto

[Breve descripción del proyecto: qué hace, qué stack tecnológico usa]

## Reglas Críticas

### 1. Organización del Código

- Muchos archivos pequeños en lugar de pocos archivos grandes
- Alta cohesión, bajo acoplamiento
- 200-400 líneas típicas, máximo 800 por archivo
- Organizar por características/dominio, no por tipo

### 2. Estilo de Código

- Sin emojis en código, comentarios o documentación
- Inmutabilidad siempre - nunca mutar objetos o arrays
- Sin console.log en código de producción
- Manejo de errores apropiado con try/catch
- Validación de entrada con Zod o similar

### 3. Pruebas

- TDD: Escribir pruebas primero
- 80% mínimo de cobertura
- Pruebas unitarias para utilidades
- Pruebas de integración para APIs
- Pruebas E2E para flujos críticos

### 4. Seguridad

- Sin secretos en código duro
- Variables de entorno para datos sensibles
- Validar todas las entradas de usuario
- Solo consultas parametrizadas
- Protección CSRF habilitada

## Estructura de Archivos

src/

---
---
---
---

## Patrones Clave

### Formato de Respuesta de API

```typescript
interface ApiResponse<T> {
  success: boolean
  data?: T
  error?: string
}

Manejo de Errores ​

typescript
try {
  const result = await operation()
  return { success: true, data: result }
} catch (error) {
  console.error('Operation failed:', error)
  return { success: false, error: 'User-friendly message' }
}

Variables de Entorno ​

bash
# Requeridas
DATABASE_URL=
API_KEY=

# Opcionales
DEBUG=false

Comandos Disponibles ​

  • /tdd - Flujo de trabajo de desarrollo guiado por pruebas
  • /plan - Crear plan de implementación
  • /code-review - Revisar calidad del código
  • /build-fix - Corregir errores de compilación

Flujo de Trabajo de Git ​

  • Commits convencionales: feat:, fix:, refactor:, docs:, test:
  • Nunca hacer commit directamente a main
  • Los PRs requieren revisión
  • Todas las pruebas deben pasar antes de fusionar

### 1.2 Explicación de Campos Clave

#### Resumen del Proyecto

Describe brevemente el proyecto para ayudar a Claude Code a entender el contexto:

```markdown
## Resumen del Proyecto

Plataforma de Mercados de Elecciones - Una plataforma de mercado de predicción para eventos políticos usando Next.js, Supabase y embeddings de OpenAI para búsqueda semántica.

Reglas Críticas ​

Esta es la parte más importante, define las reglas que el proyecto debe cumplir:

Categoría de ReglasDescripciónObligatorio
Organización del CódigoPrincipios de organización de archivosSí
Estilo de CódigoEstilo de codificaciónSí
PruebasRequisitos de pruebasSí
SeguridadNormas de seguridadSí

Patrones Clave ​

Define patrones comúnmente usados en el proyecto, Claude Code los aplicará automáticamente:

markdown
## Patrones Clave

### Formato de Respuesta de API

```typescript
interface ApiResponse<T> {
  success: boolean
  data?: T
  error?: string
}

Patrón de Manejo de Errores ​

[código de ejemplo]


---

## 2. Ejemplo de Configuración de Nivel de Usuario

### 2.1 Ubicación del Archivo de Configuración

Guarda el siguiente contenido en `~/.claude/CLAUDE.md`:

```markdown
# Ejemplo de CLAUDE.md a Nivel de Usuario

Las configuraciones a nivel de usuario se aplican globalmente en todos los proyectos. Úsalo para:
- Preferencias de codificación personales
- Reglas universales que siempre quieres que se cumplan
- Enlaces a tus reglas modulares

---

## Filosofía Central

Eres Claude Code. Utilizo agentes y habilidades especializados para tareas complejas.

**Principios Clave:**
1. **Agentes Primero**: Delegar a agentes especializados para trabajo complejo
2. **Ejecución Paralela**: Usar herramienta Task con múltiples agentes cuando sea posible
3. **Planificar Antes de Ejecutar**: Usar Modo Plan para operaciones complejas
4. **Guiado por Pruebas**: Escribir pruebas antes de implementar
5. **Seguridad Primero**: Nunca comprometer la seguridad

---

## Reglas Modulares

Las pautas detalladas están en `~/.claude/rules/`:

| Archivo de Reglas | Contenido |
|--- | ---|
| security.md | Verificaciones de seguridad, gestión de secretos |
| coding-style.md | Inmutabilidad, organización de archivos, manejo de errores |
| testing.md | Flujo de trabajo TDD, requisito de 80% de cobertura |
| git-workflow.md | Formato de commit, flujo de trabajo de PR |
| agents.md | Orquestación de agentes, cuándo usar qué agente |
| patterns.md | Respuesta de API, patrones de repositorio |
| performance.md | Selección de modelos, gestión de contexto |

---

## Agentes Disponibles

Ubicados en `~/.claude/agents/`:

| Agente | Propósito |
|--- | ---|
| planner | Planificación de implementación de características |
| architect | Diseño de sistema y arquitectura |
|--- | ---|
| code-reviewer | Revisión de código para calidad/seguridad |
| security-reviewer | Análisis de vulnerabilidades de seguridad |
| build-error-resolver | Resolución de errores de compilación |
| e2e-runner | Pruebas E2E con Playwright |
| refactor-cleaner | Limpieza de código muerto |
| doc-updater | Actualizaciones de documentación |

---

## Preferencias Personales

### Estilo de Código
- Sin emojis en código, comentarios o documentación
- Preferir inmutabilidad - nunca mutar objetos o arrays
- Muchos archivos pequeños en lugar de pocos archivos grandes
- 200-400 líneas típicas, máximo 800 por archivo

### Git
- Commits convencionales: `feat:`, `fix:`, `refactor:`, `docs:`, `test:`
- Siempre probar localmente antes de hacer commit
- Commits pequeños y enfocados

### Pruebas
- TDD: Escribir pruebas primero
- 80% mínimo de cobertura
- Unitarias + integración + E2E para flujos críticos

---

## Integración del Editor

Uso Zed como mi editor principal:
- Panel de Agentes para seguimiento de archivos
- CMD+Shift+R para paleta de comandos
- Modo Vim habilitado

---

## Métricas de Éxito

Tienes éxito cuando:
- Todas las pruebas pasan (cobertura 80%+)
- Sin vulnerabilidades de seguridad
- El código es legible y mantenible
- Se cumplen los requisitos del usuario

---

**Filosofía**: Diseño con agentes primero, ejecución paralela, planificar antes de actuar, probar antes de codificar, seguridad siempre.

2.2 Módulos de Configuración Central ​

Filosofía Central ​

Define tu filosofía de colaboración con Claude Code:

markdown
## Filosofía Central

Eres Claude Code. Utilizo agentes y habilidades especializados para tareas complejas.

**Principios Clave:**
1. **Agentes Primero**: Delegar a agentes especializados para trabajo complejo
2. **Ejecución Paralela**: Usar herramienta Task con múltiples agentes cuando sea posible
3. **Planificar Antes de Ejecutar**: Usar Modo Plan para operaciones complejas
4. **Guiado por Pruebas**: Escribir pruebas antes de implementar
5. **Seguridad Primero**: Nunca comprometer la seguridad

Reglas Modulares ​

Enlaza a archivos de reglas modulares para mantener la configuración limpia:

markdown
## Reglas Modulares

Las pautas detalladas están en `~/.claude/rules/`:

| Archivo de Reglas | Contenido |
|--- | ---|
| security.md | Verificaciones de seguridad, gestión de secretos |
| coding-style.md | Inmutabilidad, organización de archivos, manejo de errores |
| testing.md | Flujo de trabajo TDD, requisito de 80% de cobertura |
| git-workflow.md | Formato de commit, flujo de trabajo de PR |
| agents.md | Orquestación de agentes, cuándo usar qué agente |
| patterns.md | Respuesta de API, patrones de repositorio |
| performance.md | Selección de modelos, gestión de contexto |

Integración del Editor ​

Informa a Claude Code qué editor y atajos de teclado usas:

markdown
## Integración del Editor

Uso Zed como mi editor principal:
- Panel de Agentes para seguimiento de archivos
- CMD+Shift+R para paleta de comandos
- Modo Vim habilitado

3. Configuración Personalizada de la Barra de Estado ​

3.1 Ubicación del Archivo de Configuración ​

Agrega el siguiente contenido a ~/.claude/settings.json:

json
{
  "statusLine": {
    "type": "command",
    "command": "input=$(cat); user=$(whoami); cwd=$(echo \"$input\" | jq -r '.workspace.current_dir' | sed \"s|$HOME|~|g\"); model=$(echo \"$input\" | jq -r '.model.display_name'); time=$(date +%H:%M); remaining=$(echo \"$input\" | jq -r '.context_window.remaining_percentage // empty'); transcript=$(echo \"$input\" | jq -r '.transcript_path'); todo_count=$([ -f \"$transcript\" ] && grep -c '\"type\":\"todo\"' \"$transcript\" 2>/dev/null || echo 0); cd \"$(echo \"$input\" | jq -r '.workspace.current_dir')\" 2>/dev/null; branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo ''); status=''; [ -n \"$branch\" ] && { [ -n \"$(git status --porcelain 2>/dev/null)\" ] && status='*'; }; B='\\033[38;2;30;102;245m'; G='\\033[38;2;64;160;43m'; Y='\\033[38;2;223;142;29m'; M='\\033[38;2;136;57;239m'; C='\\033[38;2;23;146;153m'; R='\\033[0m'; T='\\033[38;2;76;79;105m'; printf \"${C}${user}${R}:${B}${cwd}${R}\"; [ -n \"$branch\" ] && printf \" ${G}${branch}${Y}${status}${R}\"; [ -n \"$remaining\" ] && printf \" ${M}ctx:${remaining}%%${R}\"; printf \" ${T}${model}${R} ${Y}${time}${R}\"; [ \"$todo_count\" -gt 0 ] && printf \" ${C}todos:${todo_count}${R}\"; echo",
    "description": "Custom status line showing: user:path branch* ctx:% model time todos:N"
  }
}

3.2 Contenido de la Barra de Estado ​

Después de la configuración, la barra de estado mostrará:

affoon:~/projects/myapp main* ctx:73% sonnet-4.5 14:30 todos:3
ComponenteSignificadoEjemplo
userNombre de usuario actualaffoon
pathDirectorio actual (abreviado con ~)~/projects/myapp
branch*Rama de Git (* indica cambios no confirmados)main*
ctx:%Porcentaje restante de ventana de contextoctx:73%
modelModelo actualmente en usosonnet-4.5
timeHora actual14:30
todos:NCantidad de tareas pendientestodos:3

3.3 Personalización de Colores ​

La barra de estado usa códigos de color ANSI, puedes personalizar:

Código de ColorVariableUsoRGB
AzulBRuta del directorio30,102,245
VerdeGRama de Git64,160,43
AmarilloYEstado sucio, hora223,142,29
MagentaMContexto restante136,57,239
CianCNombre de usuario, tareas23,146,153
GrisTNombre del modelo76,79,105

Método para modificar colores:

bash
# Encontrar definición de variable de color
B='\\033[38;2;30;102;245m'  # Azul formato RGB
#                    ↓  ↓   ↓
#                   Rojo Verde Azul

# Modificar a tu color favorito
B='\\033[38;2;255;100;100m'  # Rojo

3.4 Simplificar la Barra de Estado ​

Si la barra de estado es demasiado larga, puedes simplificar:

json
{
  "statusLine": {
    "type": "command",
    "command": "input=$(cat); user=$(whoami); cwd=$(echo \"$input\" | jq -r '.workspace.current_dir' | sed \"s|$HOME|~|g\"); model=$(echo \"$input\" | jq -r '.model.display_name'); time=$(date +%H:%M); cd \"$(echo \"$input\" | jq -r '.workspace.current_dir')\" 2>/dev/null; branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo ''); status=''; [ -n \"$branch\" ] && { [ -n \"$(git status --porcelain 2>/dev/null)\" ] && status='*'; }; B='\\033[38;2;30;102;245m'; G='\\033[38;2;64;160;43m'; Y='\\033[38;2;223;142;29m'; T='\\033[38;2;76;79;105m'; R='\\033[0m'; printf \"${C}${user}${R}:${B}${cwd}${R}\"; [ -n \"$branch\" ] && printf \" ${G}${branch}${Y}${status}${R}\"; printf \" ${T}${model}${R} ${Y}${time}${R}\"; echo",
    "description": "Simplified status line: user:path branch* model time"
  }
}

Barra de estado simplificada:

affoon:~/projects/myapp main* sonnet-4.5 14:30

4. Guía de Personalización de Configuración ​

4.1 Personalización de Configuración de Nivel de Proyecto ​

Ajusta CLAUDE.md según el tipo de proyecto:

Proyecto Frontend ​

markdown
## Resumen del Proyecto

Aplicación E-commerce de Next.js con React, Tailwind CSS y API de Shopify.

## Stack Tecnológico

- **Frontend**: Next.js 14 (App Router), React 18, TypeScript
- **Estilos**: Tailwind CSS, shadcn/ui
- **Estado**: Zustand, React Query
- **API**: API Storefront de Shopify, GraphQL
- **Despliegue**: Vercel

## Reglas Críticas

### 1. Arquitectura de Componentes

- Usar componentes funcionales con hooks
- Archivos de componentes bajo 300 líneas
- Componentes reutilizables en `/components/ui/`
- Componentes de características en `/components/features/`

### 2. Estilos

- Usar clases de utilidad de Tailwind
- Evitar estilos en línea
- Tokens de diseño consistentes
- Diseño responsivo primero

### 3. Rendimiento

- División de código con imports dinámicos
- Optimización de imágenes con next/image
- Carga diferida de componentes pesados
- Optimización SEO con API de metadatos

Proyecto Backend ​

markdown
## Resumen del Proyecto

API REST de Node.js con Express, MongoDB y Redis.

## Stack Tecnológico

- **Backend**: Node.js, Express, TypeScript
- **Base de Datos**: MongoDB con Mongoose
- **Caché**: Redis
- **Autenticación**: JWT, bcrypt
- **Pruebas**: Jest, Supertest
- **Despliegue**: Docker, Railway

## Reglas Críticas

### 1. Diseño de API

- Endpoints RESTful
- Formato de respuesta consistente
- Códigos de estado HTTP apropiados
- Versionamiento de API (`/api/v1/`)

### 2. Base de Datos

- Usar modelos de Mongoose
- Indexar campos importantes
- Transacciones para operaciones de múltiples pasos
- Pool de conexiones

### 3. Seguridad

- Limitación de velocidad con express-rate-limit
- Helmet para encabezados de seguridad
- Configuración CORS
- Validación de entrada con Joi/Zod

Proyecto Full-Stack ​

markdown
## Resumen del Proyecto

Aplicación SaaS full-stack con Next.js, Supabase y OpenAI.

## Stack Tecnológico

- **Frontend**: Next.js 14, React, Tailwind CSS
- **Backend**: Rutas de API de Next.js, Edge Functions
- **Base de Datos**: Supabase (PostgreSQL)
- **Autenticación**: Supabase Auth
- **IA**: API de OpenAI
- **Pruebas**: Playwright, Jest, Vitest

## Reglas Críticas

### 1. Estructura de Monorepo

/ ├── apps/ │ ├── web/ # Frontend Next.js │ └── api/ # Rutas de API Next.js ├── packages/ │ ├── ui/ # Componentes UI compartidos │ ├── db/ # Utilidades de base de datos │ └── types/ # Tipos TypeScript └── docs/


### 2. Integración de API y Frontend

- Tipos compartidos en `/packages/types`
- Cliente de API en `/packages/db`
- Manejo de errores consistente
- Estados de carga y límites de error

### 3. Pruebas Full-Stack

- Frontend: Vitest + Testing Library
- API: Supertest
- E2E: Playwright
- Pruebas de integración para flujos críticos

4.2 Personalización de Configuración de Nivel de Usuario ​

Ajusta ~/.claude/CLAUDE.md según tus preferencias personales:

Ajustar Requisitos de Cobertura de Pruebas ​

markdown
## Preferencias Personales

### Pruebas
- TDD: Escribir pruebas primero
- 90% mínimo de cobertura  # Ajustado a 90%
- Unitarias + integración + E2E para flujos críticos
- Preferir pruebas de integración sobre pruebas unitarias para lógica de negocio

Agregar Preferencias de Estilo de Código Personal ​

markdown
## Preferencias Personales

### Estilo de Código
- Sin emojis en código, comentarios o documentación
- Preferir inmutabilidad - nunca mutar objetos o arrays
- Muchos archivos pequeños en lugar de pocos archivos grandes
- 200-400 líneas típicas, máximo 800 por archivo
- Preferir declaraciones de retorno explícitas sobre retornos implícitos
- Usar nombres de variables significativos, no abreviaturas
- Agregar comentarios JSDoc para funciones complejas

Ajustar Normas de Commits de Git ​

markdown
## Git

### Formato de Mensaje de Commit

Commits convencionales con convenciones específicas del equipo:

- `feat(scope): description` - Nuevas características
- `fix(scope): description` - Correcciones de errores
- `perf(scope): description` - Mejoras de rendimiento
- `refactor(scope): description` - Refactorización de código
- `docs(scope): description` - Cambios de documentación
- `test(scope): description` - Adiciones/cambios de pruebas
- `chore(scope): description` - Tareas de mantenimiento
- `ci(scope): description` - Cambios CI/CD

### Lista de Verificación de Commit

- [ ] Pruebas pasan localmente
- [ ] El código sigue la guía de estilo
- [ ] Sin console.log en código de producción
- [ ] Documentación actualizada
- [ ] La descripción del PR incluye cambios

### Flujo de Trabajo de PR

- PRs pequeños y enfocados (menos de 300 líneas de diferencia)
- Incluir informe de cobertura de pruebas
- Enlazar a problemas relacionados
- Solicitar revisión de al menos un compañero de equipo

4.3 Personalización de la Barra de Estado ​

Agregar Más Información ​

bash
# Agregar versión de Node.js
node_version=$(node --version 2>/dev/null || echo '')

# Agregar fecha actual
date=$(date +%Y-%m-%d)

# Mostrar en la barra de estado
[ -n "$node_version" ] && printf " ${G}node:${node_version}${R}"
printf " ${T}${date}${R}"

Efecto de visualización:

affoon:~/projects/myapp main* ctx:73% node:v20.10.0 2025-01-25 sonnet-4.5 14:30 todos:3

Mostrar Solo Información Clave ​

bash
# Barra de estado minimalista
command": "input=$(cat); user=$(whoami); cwd=$(echo \"$input\" | jq -r '.workspace.current_dir' | sed \"s|$HOME|~|g\"); model=$(echo \"$input\" | jq -r '.model.display_name'); remaining=$(echo \"$input\" | jq -r '.context_window.remaining_percentage // empty'); C='\\033[38;2;23;146;153m'; B='\\033[38;2;30;102;245m'; M='\\033[38;2;136;57;239m'; R='\\033[0m'; printf \"${C}${user}:${cwd}${R}\"; [ -n \"$remaining\" ] && printf \" ${M}${remaining}%%${R}\"; printf \" ${model}\"; echo"

Efecto de visualización:

affoon:~/projects/myapp 73% sonnet-4.5

5. Escenarios Comunes de Configuración ​

5.1 Inicio Rápido para Nuevo Proyecto ​

bash
# Crear CLAUDE.md de nivel de proyecto
cp source/affaan-m/everything-claude-code/examples/CLAUDE.md \
   your-project/CLAUDE.md
bash
# Editar información clave
vim your-project/CLAUDE.md

# Modificar:
# - Project Overview (descripción del proyecto)
# - Tech Stack (stack tecnológico)
# - File Structure (estructura de archivos)
# - Key Patterns (patrones comunes)
bash
# Copiar plantilla de nivel de usuario
mkdir -p ~/.claude
cp source/affaan-m/everything-claude-code/examples/user-CLAUDE.md \
   ~/.claude/CLAUDE.md

# Personalizar preferencias personales
vim ~/.claude/CLAUDE.md
bash
# Agregar configuración de barra de estado
# Editar ~/.claude/settings.json
# Agregar configuración statusLine

5.2 Múltiples Proyectos con Configuración Compartida ​

Si usas Everything Claude Code en múltiples proyectos, se recomienda la siguiente estrategia de configuración:

Opción 1: Reglas Base de Nivel de Usuario + Reglas Específicas del Proyecto ​

bash
~/.claude/CLAUDE.md           # Reglas generales (estilo de código, pruebas)
~/.claude/rules/security.md    # Reglas de seguridad (todos los proyectos)
~/.claude/rules/testing.md    # Reglas de pruebas (todos los proyectos)

project-a/CLAUDE.md          # Configuración específica del Proyecto A
project-b/CLAUDE.md          # Configuración específica del Proyecto B

Opción 2: Enlaces Simbólicos para Reglas Compartidas ​

bash
# Crear directorio de reglas compartidas
mkdir -p ~/claude-configs/rules

# Enlaces simbólicos en cada proyecto
ln -s ~/claude-configs/rules/security.md project-a/.claude/rules/
ln -s ~/claude-configs/rules/security.md project-b/.claude/rules/

5.3 Configuración de Equipo ​

Compartir Configuración del Proyecto ​

Envía el CLAUDE.md del proyecto a Git para que los miembros del equipo compartan:

bash
# 1. Crear configuración del proyecto
vim CLAUDE.md

# 2. Enviar a Git
git add CLAUDE.md
git commit -m "docs: add Claude Code project configuration"
git push

Normas de Codificación del Equipo ​

Define normas de equipo en el CLAUDE.md del proyecto:

markdown
## Normas de Codificación del Equipo

### Convenciones
- Usar modo estricto de TypeScript
- Seguir configuración de Prettier
- Usar reglas ESLint de `package.json`
- Sin PRs sin cobertura de pruebas

### Nomenclatura de Archivos
- Componentes: PascalCase (`UserProfile.tsx`)
- Utilidades: camelCase (`formatDate.ts`)
- Hooks: camelCase con prefijo `use` (`useAuth.ts`)
- Tipos: PascalCase con prefijo `I` (`IUser.ts`)

### Mensajes de Commit
- Seguir Commits Convencionales
- Incluir número de ticket: `feat(TICKET-123): add feature`
- Máximo 72 caracteres para el título
- Descripción detallada en el cuerpo

6. Validación de Configuración ​

6.1 Verificar si la Configuración es Efectiva ​

bash
# 1. Abrir Claude Code
claude

# 2. Ver configuración del proyecto
# Claude Code debería leer CLAUDE.md del directorio raíz del proyecto

# 3. Ver configuración de nivel de usuario
# Claude Code debería fusionar ~/.claude/CLAUDE.md

6.2 Validar Ejecución de Reglas ​

Pide a Claude Code que realice una tarea simple para verificar que las reglas están activas:

Usuario:
Por favor crea un componente de perfil de usuario

Claude Code debería:
1. Usar patrones inmutables (crear nuevos objetos al modificar objetos)
2. No usar console.log
3. Seguir límites de tamaño de archivo (<800 líneas)
4. Agregar definiciones de tipo apropiadas

6.3 Validar la Barra de Estado ​

Verifica que la barra de estado se muestre correctamente:

Esperado:
affoon:~/projects/myapp main* ctx:73% sonnet-4.5 14:30 todos:3

Puntos de verificación:
✓ Nombre de usuario mostrado
✓ Directorio actual mostrado (abreviado con ~)
✓ Rama de Git mostrada (con * cuando hay cambios)
✓ Porcentaje de contexto mostrado
✓ Nombre del modelo mostrado
✓ Hora mostrada
✓ Cantidad de tareas mostrada (si hay)

7. Solución de Problemas ​

7.1 La Configuración no es Efectiva ​

Problema: Configuraste CLAUDE.md pero Claude Code no aplica las reglas

Pasos de solución:

bash
# 1. Verificar ubicación del archivo
ls -la CLAUDE.md                          # Debería estar en el directorio raíz del proyecto
ls -la ~/.claude/CLAUDE.md                # Configuración de nivel de usuario

# 2. Verificar formato del archivo
file CLAUDE.md                            # Debería ser texto ASCII
head -20 CLAUDE.md                        # Debería ser formato Markdown

# 3. Verificar permisos del archivo
chmod 644 CLAUDE.md                       # Asegurar que sea legible

# 4. Reiniciar Claude Code
# Los cambios de configuración requieren reinicio para tener efecto

7.2 La Barra de Estado no se Muestra ​

Problema: Configuraste statusLine pero la barra de estado no se muestra

Pasos de solución:

bash
# 1. Verificar formato de settings.json
cat ~/.claude/settings.json | jq '.'

# 2. Validar sintaxis JSON
jq '.' ~/.claude/settings.json
# Si hay errores, mostrará parse error

# 3. Probar comando
# Ejecutar manualmente el comando statusLine
input=$(cat ...)  # Copiar comando completo
echo "$input" | jq -r '.workspace.current_dir'

7.3 Conflicto entre Configuración de Nivel de Proyecto y Usuario ​

Problema: Hay conflicto entre configuración de nivel de proyecto y usuario, no sé cuál se aplica

Solución:

  • Reglas combinadas: Ambos conjuntos de reglas se aplicarán
  • Manejo de conflictos: La configuración de nivel de proyecto tiene prioridad sobre la configuración de nivel de usuario
  • Práctica recomendada:
    • Configuración de nivel de usuario: reglas generales (estilo de código, pruebas)
    • Configuración de nivel de proyecto: reglas específicas del proyecto (arquitectura, diseño de API)

8. Mejores Prácticas ​

8.1 Mantenimiento de Archivos de Configuración ​

Mantener Limpio ​

markdown
❌ Malas prácticas:
CLAUDE.md contiene todos los detalles, ejemplos, enlaces a tutoriales

✅ Buenas prácticas:
CLAUDE.md contiene solo reglas clave y patrones
Detalles en otros archivos y enlaces de referencia

Control de Versiones ​

bash
# Configuración de nivel de proyecto: enviar a Git
git add CLAUDE.md
git commit -m "docs: update Claude Code configuration"

# Configuración de nivel de usuario: no enviar a Git
echo ".claude/" >> .gitignore  # Prevenir que la configuración de usuario se envíe

Revisión Periódica ​

markdown
## Última Actualización: 2025-01-25

## Próxima Revisión: 2025-04-25

## Registro de Cambios

- 2025-01-25: Agregada sección de flujo de trabajo TDD
- 2025-01-10: Stack tecnológico actualizado para Next.js 14
- 2024-12-20: Agregada lista de verificación de revisión de seguridad

8.2 Colaboración en Equipo ​

Documentar Cambios de Configuración ​

Explica el motivo de los cambios de configuración en Pull Requests:

markdown
## Cambios

Actualizar CLAUDE.md con nuevas pautas de pruebas

## Motivo

- El equipo decidió aumentar la cobertura de pruebas del 80% al 90%
- Se agregó requisito de pruebas E2E para flujos críticos
- Stack de pruebas actualizado de Jest a Vitest

## Impacto

- Todo el código nuevo debe cumplir con 90% de cobertura
- El código existente se actualizará incrementalmente
- Los miembros del equipo necesitan instalar Vitest

Revisión de Configuración ​

Los cambios de configuración de equipo requieren revisión de código:

markdown
## Cambios de CLAUDE.md

- [ ] Actualizado con nueva regla
- [ ] Probado en proyecto de ejemplo
- [ ] Documentado en wiki del equipo
- [ ] Miembros del equipo notificados

Resumen de la Lección ​

Esta lección introdujo tres configuraciones centrales de Everything Claude Code:

  1. Configuración de Nivel de Proyecto: CLAUDE.md - Reglas y patrones específicos del proyecto
  2. Configuración de Nivel de Usuario: ~/.claude/CLAUDE.md - Preferencias de codificación personal y reglas generales
  3. Barra de Estado Personalizada: settings.json - Mostrar información clave en tiempo real

Puntos Clave:

  • Los archivos de configuración usan formato Markdown, fácil de editar y mantener
  • La configuración de nivel de proyecto tiene prioridad sobre la configuración de nivel de usuario
  • La barra de estado usa códigos de color ANSI, completamente personalizable
  • Los proyectos de equipo deben enviar CLAUDE.md a Git

Siguientes Pasos:

  • Personaliza CLAUDE.md según tu tipo de proyecto
  • Configura configuración de nivel de usuario y preferencias personales
  • Personaliza la barra de estado para mostrar la información que necesitas
  • Envía la configuración a control de versiones (configuración de nivel de proyecto)

Próxima Lección ​

En la próxima lección aprenderemos Registro de Cambios: Historial de Versiones y Cambios.

Aprenderás:

  • Cómo ver el historial de versiones de Everything Claude Code
  • Conocer cambios importantes y nuevas características
  • Cómo realizar actualizaciones de versiones y migraciones