Capítulo 1: Introducción y Configuración de Claude Code
Capítulo 1: Introducción y Configuración de Claude Code
Bienvenido al tutorial de Claude Code, la herramienta CLI oficial de Anthropic que transforma la forma en que desarrollamos software con asistencia de AI.
🎯 Objetivos del Capítulo
Al finalizar este capítulo serás capaz de:
- ✅ Entender qué es Claude Code y sus capacidades reales
- ✅ Instalar y configurar Claude Code en tu entorno
- ✅ Ejecutar tus primeros comandos
- ✅ Comprender el flujo de trabajo básico
¿Qué es Claude Code?
Claude Code es una interfaz de línea de comandos que te permite trabajar directamente con Claude en tu terminal para:
Capacidades Principales
-
Construir características desde descripciones
- Crea planes de código e implementaciones basadas en instrucciones en lenguaje natural
- Genera código funcional desde especificaciones
-
Debugging y Resolución de Problemas
- Analiza tu codebase para identificar problemas
- Implementa correcciones automáticamente
- Resuelve errores de compilación y runtime
-
Navegación de Codebase
- Mantiene conciencia de toda la estructura del proyecto
- Encuentra información actualizada en la web
- Soporta fuentes de datos externas vía Model Context Protocol (MCP)
-
Automatización de Tareas
- Corrige issues de lint automáticamente
- Resuelve conflictos de merge
- Escribe release notes
- Se integra con CI/CD
Instalación
Prerrequisitos
- Sistema operativo: macOS, Linux o Windows
- Node.js 18+ (para algunas integraciones)
- Git instalado
- Una API key de Anthropic
Proceso de Instalación
# macOS/Linux
curl -fsSL https://console.anthropic.com/claude-code/install.sh | sh
# Windows (PowerShell como administrador)
iwr -useb https://console.anthropic.com/claude-code/install.ps1 | iex
# Verificar instalación
claude --version
Configuración Inicial
# Configurar API key
export ANTHROPIC_API_KEY="tu-api-key-aqui"
# O configurar permanentemente
echo 'export ANTHROPIC_API_KEY="tu-api-key-aqui"' >> ~/.bashrc
source ~/.bashrc
Primeros Comandos
Comando Básico
# Pedir ayuda sobre tu proyecto
claude "Explica la estructura de este proyecto"
# Analizar un archivo específico
claude "¿Qué hace el archivo src/index.js?"
# Crear una nueva función
claude "Crea una función para validar emails en utils/validation.js"
Modos de Operación
Claude Code ofrece dos modos principales:
- Modo CLI (One-shot)
# Ejecutar un comando único
claude "Añade tests para la función calculateTax"
- Modo Interactivo
# Iniciar sesión interactiva
claude
# Ahora puedes escribir múltiples comandos
> Analiza el rendimiento de la aplicación
> Sugiere optimizaciones
> Implementa la optimización más importante
Flujos de Trabajo Comunes
1. Entender Codebases
# Obtener overview del proyecto
claude "Dame un resumen de la arquitectura de este proyecto"
# Encontrar archivos relevantes
claude "¿Dónde está implementada la autenticación?"
# Trazar flujo de ejecución
claude "Explica el flujo de datos desde el login hasta el dashboard"
2. Bug Fixing
# Diagnosticar error
claude "Hay un error 'undefined is not a function' en line 42 de app.js"
# Implementar fix
claude "Corrige el error manteniendo compatibilidad hacia atrás"
3. Refactoring
# Modernizar código
claude "Refactoriza user-service.js para usar async/await en lugar de callbacks"
# Aplicar patrones
claude "Implementa el patrón Repository en el módulo de datos"
Características Avanzadas
Extended Thinking
Para problemas complejos, Claude puede “pensar” más profundamente:
# Activar pensamiento extendido
claude --think "Diseña una arquitectura de microservicios para esta aplicación"
Trabajo con Imágenes
Claude Code puede analizar imágenes:
# Analizar un diagrama
claude "Implementa la arquitectura mostrada en architecture.png"
# Debugging visual
claude "¿Por qué el botón en screenshot.png no está centrado?"
Referencias con @
Usa @ para referenciar archivos específicos:
# Referenciar archivos
claude "Optimiza @src/database/queries.js para mejor rendimiento"
# Múltiples archivos
claude "Refactoriza @src/api/* para usar TypeScript"
Resume y Continue
# Continuar conversación anterior
claude --continue
# Resumir desde un punto específico
claude --resume "Continuemos con la implementación del sistema de cache"
Testing con Claude Code
Generación de Tests
# Identificar código sin tests
claude "¿Qué partes del código no tienen tests?"
# Generar tests
claude "Crea tests unitarios para src/utils/calculator.js"
# Tests con casos edge
claude "Añade tests para casos edge en el módulo de pagos"
Scaffolding de Tests
# Crear estructura de tests
claude "Genera el scaffolding de tests para el módulo de autenticación"
# Tests de integración
claude "Crea tests de integración para la API REST"
Integración con Herramientas
Git Integration
# Generar commits
claude "Genera un mensaje de commit para estos cambios" | git commit -F -
# Crear PR
claude "Crea una descripción de PR para la feature de notificaciones"
Unix Pipes
# Pipe con grep
grep -r "TODO" . | claude "Prioriza estos TODOs por importancia"
# Análisis de logs
tail -f app.log | claude "Detecta patrones anómalos en estos logs"
CI/CD
# GitHub Actions ejemplo
- name: Code Review
run: |
claude "Revisa los cambios en este PR" > review.md
cat review.md >> $GITHUB_STEP_SUMMARY
Mejores Prácticas
1. Instrucciones Claras
# ❌ Vago
claude "arregla esto"
# ✅ Específico
claude "Corrige el memory leak en src/cache.js causado por event listeners no removidos"
2. Contexto Apropiado
# Proporcionar contexto
claude "Usando React 18 y TypeScript, crea un hook personalizado para gestión de formularios"
3. Iteración Progresiva
# Paso 1: Análisis
claude "Analiza la complejidad del módulo de pagos"
# Paso 2: Plan
claude "Propón una refactorización para reducir la complejidad"
# Paso 3: Implementación
claude "Implementa la refactorización propuesta"
Configuración Avanzada
Settings File
Crea .claude/settings.json en tu proyecto:
{
"model": "claude-3-opus-20240229",
"temperature": 0.7,
"max_tokens": 4000,
"tools": {
"enabled": ["read", "write", "exec"],
"disabled": ["delete"]
},
"ignore": [
"node_modules/**",
"dist/**",
".git/**"
]
}
Variables de Entorno
# Modelo preferido
export CLAUDE_MODEL="claude-3-opus-20240229"
# Timeout para comandos
export CLAUDE_TIMEOUT="60"
# Modo verbose
export CLAUDE_VERBOSE="true"
Troubleshooting Común
Problema: API Key no configurada
# Solución
export ANTHROPIC_API_KEY="sk-ant-..."
Problema: Comando no encontrado
# Verificar PATH
echo $PATH | grep -q claude || echo 'export PATH="$PATH:$HOME/.claude/bin"' >> ~/.bashrc
Problema: Timeout en comandos largos
# Aumentar timeout
claude --timeout 120 "Tarea que requiere más tiempo"
Ejercicios Prácticos
Ejercicio 1: Setup Inicial
- Instala Claude Code
- Configura tu API key
- Ejecuta
claude "Hola, ¿estás funcionando?"
Ejercicio 2: Análisis de Proyecto
- Navega a un proyecto existente
- Ejecuta
claude "Analiza la estructura de este proyecto" - Pregunta sobre un archivo específico
Ejercicio 3: Generación de Código
- Crea un directorio nuevo
- Usa Claude para generar una API REST básica
- Añade tests con Claude
Resumen
En este capítulo aprendiste:
- ✅ Qué es Claude Code y sus capacidades reales
- ✅ Cómo instalar y configurar la herramienta
- ✅ Los comandos básicos y flujos de trabajo
- ✅ Características avanzadas como extended thinking y referencias @
- ✅ Integración con herramientas de desarrollo
Próximo Capítulo
En el siguiente capítulo exploraremos los Flujos de Trabajo Avanzados, incluyendo:
- Subagentes especializados
- Model Context Protocol (MCP)
- Automatización compleja
- Optimización de prompts