← 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

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

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

# 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

FlagDescripción
-c, --continueContinú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-toolsDeshabilita herramientas específicas
--mcp-config <path>Config de MCP servers
--session-id <id>ID de sesión personalizado
--max-budget-usdLímite de presupuesto (SDK)
--debugModo debug
--dangerously-skip-permissionsOmite 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

ModeloVelocidadCapacidadUso Recomendado
Opus 4.5LentoMáximaArquitectura, problemas complejos
SonnetMediaAltaDesarrollo general
Haiku 4.5RápidaBuenaTareas 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

ComandoDescripción
/helpMuestra ayuda
/configConfiguración interactiva
/settingsAlias de /config
/modelCambiar modelo
/planActivar Plan Mode
/clearLimpiar contexto
/compactComprimir contexto
/usageVer uso y límites
/permissionsGestionar permisos
/hooksConfigurar hooks

Comandos de Sesión

ComandoDescripción
/rename <nombre>Nombrar sesión actual
/resumeLista sesiones para resumir
/exportExportar conversación
/rewindDeshacer cambios de código

Comandos de Herramientas

ComandoDescripción
/pluginsGestionar plugins
/agentsVer/crear agentes
/terminal-setupConfigurar terminal
/themeCambiar tema visual
/statuslinePersonalizar status line

Atajos de Teclado

Durante Sesión

AtajoAcción
Alt+PCambiar modelo
Ctrl+CCancelar generación
Ctrl+BEnviar a background
Ctrl+RBuscar en historial
Ctrl+GEditar en editor externo
Ctrl+OVer transcript
EscCancelar/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:

Próximo Capítulo

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

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