Capítulo 1: Introducción y Configuración
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
- Entender qué es Claude Code y sus capacidades
- Instalar y configurar Claude Code
- Dominar los comandos CLI y flags disponibles
- Configurar modelos y preferencias
Instalación
Prerrequisitos
- Sistema operativo: macOS, Linux o Windows (WSL)
- Node.js 18+ (para algunas integraciones)
- Git instalado
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
# Diagnóstico de instalación
claude doctor
Autenticación
# Login interactivo (abre navegador)
claude login
# O con API key directa
export ANTHROPIC_API_KEY="sk-ant-..."
Modos de Operación
Modo Interactivo
# Iniciar sesión interactiva
claude
# Con modelo específico
claude --model opus
claude --model sonnet
claude --model haiku
Modo One-shot (CLI)
# Comando único
claude "Explica este código"
# Con archivo de entrada
cat archivo.js | claude "Optimiza este código"
# Output a archivo
claude "Genera README" > README.md
Flags y Opciones CLI
Flags Principales
| Flag | Descripción |
|---|
-c, --continue | Continúa la sesión anterior |
--resume <nombre> | Resume sesión por nombre |
--model <modelo> | Especifica modelo (opus/sonnet/haiku) |
--agent <nombre> | Usa agente específico |
--tools <lista> | Restringe herramientas disponibles |
--disallowed-tools | Deshabilita herramientas específicas |
--mcp-config <path> | Config de MCP servers |
--session-id <id> | ID de sesión personalizado |
--max-budget-usd | Límite de presupuesto (SDK) |
--debug | Modo debug |
--dangerously-skip-permissions | Omite confirmaciones |
Ejemplos de Uso
# Continuar trabajo anterior
claude -c
claude --continue
# Resumir sesión nombrada
claude --resume "feature-auth"
# Limitar herramientas
claude --tools "Read,Write,Bash"
# Deshabilitar agentes específicos
claude --disallowed-tools "Task(Explore)"
# Modo debug
claude --debug "Analiza el error"
Modelos Disponibles
Selección de Modelo
# Opus 4.5 (más potente)
claude --model opus
# Sonnet (balanceado)
claude --model sonnet
# Haiku 4.5 (rápido y económico)
claude --model haiku
# Cambiar durante sesión: Alt+P
Comparación de Modelos
| Modelo | Velocidad | Capacidad | Uso Recomendado |
|---|
| Opus 4.5 | Lento | Máxima | Arquitectura, problemas complejos |
| Sonnet | Media | Alta | Desarrollo general |
| Haiku 4.5 | Rápida | Buena | Tareas simples, exploración |
Configuración
Archivos de Configuración
# Configuración global
~/.claude/settings.json
# Configuración de proyecto
.claude/settings.json
# Reglas adicionales
.claude/rules/
# CLAUDE.md (instrucciones para Claude)
CLAUDE.md
.claude/CLAUDE.md
settings.json
{
"model": "sonnet",
"language": "spanish",
"respectGitignore": true,
"companyAnnouncements": true,
"spinnerTipsEnabled": true,
"cleanupPeriodDays": 30,
"attribution": "Claude Code",
"permissions": {
"allow": ["Read", "Write", "Bash(npm *)"],
"deny": ["Bash(rm -rf *)"]
}
}
Variables de Entorno
# API Key
export ANTHROPIC_API_KEY="sk-ant-..."
# Shell personalizado
export CLAUDE_CODE_SHELL="zsh"
# Timeout de bash (ms)
export BASH_DEFAULT_TIMEOUT_MS="120000"
# Límite de tokens para lectura
export CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS="50000"
# Modo demo (oculta email/org)
export IS_DEMO="true"
# Auto-exit después de stop (SDK)
export CLAUDE_CODE_EXIT_AFTER_STOP_DELAY="5000"
Comandos Slash
Comandos Esenciales
| Comando | Descripción |
|---|
/help | Muestra ayuda |
/config | Configuración interactiva |
/settings | Alias de /config |
/model | Cambiar modelo |
/plan | Activar Plan Mode |
/clear | Limpiar contexto |
/compact | Comprimir contexto |
/usage | Ver uso y límites |
/permissions | Gestionar permisos |
/hooks | Configurar hooks |
Comandos de Sesión
| Comando | Descripción |
|---|
/rename <nombre> | Nombrar sesión actual |
/resume | Lista sesiones para resumir |
/export | Exportar conversación |
/rewind | Deshacer cambios de código |
Comandos de Herramientas
| Comando | Descripción |
|---|
/plugins | Gestionar plugins |
/agents | Ver/crear agentes |
/terminal-setup | Configurar terminal |
/theme | Cambiar tema visual |
/statusline | Personalizar status line |
Atajos de Teclado
Durante Sesión
| Atajo | Acción |
|---|
Alt+P | Cambiar modelo |
Ctrl+C | Cancelar generación |
Ctrl+B | Enviar a background |
Ctrl+R | Buscar en historial |
Ctrl+G | Editar en editor externo |
Ctrl+O | Ver transcript |
Esc | Cancelar/volver a input |
Vim Motions (v2.1.0+)
# Movimiento
h, j, k, l # Izquierda, abajo, arriba, derecha
w, b, e # Por palabras
0, $ # Inicio/fin de línea
gg, G # Inicio/fin de documento
# Edición
i, a, A # Modos de inserción
x, dd # Eliminar
yy, Y # Copiar línea
p, P # Pegar
>>, << # Indentar
J # Unir líneas
# Text Objects
iw, aw # Inner/around word
i", a" # Inner/around quotes
i(, a( # Inner/around paréntesis
# Búsqueda
f, F, t, T # Buscar carácter
;, , # Repetir búsqueda
CLAUDE.md
Archivo de instrucciones para Claude en tu proyecto:
# CLAUDE.md
## Comandos de Desarrollo
- `npm run dev` - Servidor de desarrollo
- `npm run test` - Ejecutar tests
- `npm run build` - Build de producción
## Arquitectura
Este proyecto usa arquitectura hexagonal...
## Convenciones
- Commits en español
- Tests obligatorios para nuevas features
- No usar any en TypeScript
Ubicaciones Válidas
# Raíz del proyecto
./CLAUDE.md
# Directorio .claude
./.claude/CLAUDE.md
# Global (aplica a todos los proyectos)
~/.claude/CLAUDE.md
Primeros Pasos Prácticos
1. Análisis de Proyecto
claude
> Analiza la estructura de este proyecto
> ¿Qué tecnologías usa?
> Dame un resumen de la arquitectura
2. Entender Código
claude "Explica qué hace src/auth/login.ts"
claude "¿Dónde está implementada la autenticación?"
3. Generar Código
claude "Crea una función para validar emails"
claude "Añade tests para el módulo de usuarios"
4. Debugging
claude "Hay un error en línea 42 de app.js, corrígelo"
claude "El test de login falla, investiga por qué"
Troubleshooting
Problema: Comando no encontrado
# Verificar PATH
echo $PATH | grep claude
# Añadir al PATH
echo 'export PATH="$PATH:$HOME/.claude/bin"' >> ~/.bashrc
source ~/.bashrc
Problema: Error de autenticación
# Re-login
claude logout
claude login
# O verificar API key
echo $ANTHROPIC_API_KEY
Problema: Terminal no compatible
# Configurar terminal
/terminal-setup
# Terminales soportados con Shift+Enter nativo:
# iTerm2, WezTerm, Ghostty, Kitty
Problema: Timeout en comandos largos
# Aumentar timeout
export BASH_DEFAULT_TIMEOUT_MS="300000"
Resumen
En este capítulo aprendiste:
- Cómo instalar y autenticar Claude Code
- Los comandos CLI y flags disponibles
- Configuración con settings.json y variables de entorno
- Comandos slash y atajos de teclado
- Cómo usar CLAUDE.md para instrucciones de proyecto
Próximo Capítulo
En el siguiente capítulo exploraremos Flujos de Trabajo Avanzados:
- Subagentes especializados
- Plan Mode
- Model Context Protocol (MCP)
Siguiente: Capítulo 2 - Flujos de Trabajo Avanzados →