← Volver al listado de tecnologías

Capítulo 1: Introducción y Configuración de Claude Code

Por: Artiko
claude-codecliaiconfiguraciónterminal

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:

¿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

  1. Construir características desde descripciones

    • Crea planes de código e implementaciones basadas en instrucciones en lenguaje natural
    • Genera código funcional desde especificaciones
  2. Debugging y Resolución de Problemas

    • Analiza tu codebase para identificar problemas
    • Implementa correcciones automáticamente
    • Resuelve errores de compilación y runtime
  3. 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)
  4. 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

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:

  1. Modo CLI (One-shot)
# Ejecutar un comando único
claude "Añade tests para la función calculateTax"
  1. 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

  1. Instala Claude Code
  2. Configura tu API key
  3. Ejecuta claude "Hola, ¿estás funcionando?"

Ejercicio 2: Análisis de Proyecto

  1. Navega a un proyecto existente
  2. Ejecuta claude "Analiza la estructura de este proyecto"
  3. Pregunta sobre un archivo específico

Ejercicio 3: Generación de Código

  1. Crea un directorio nuevo
  2. Usa Claude para generar una API REST básica
  3. Añade tests con Claude

Resumen

En este capítulo aprendiste:

Próximo Capítulo

En el siguiente capítulo exploraremos los Flujos de Trabajo Avanzados, incluyendo:


Siguiente: Capítulo 2 - Flujos de Trabajo Avanzados →