Primeros Pasos
Instalar y Lanzar
npm install -g @anthropic-ai/claude-code claude # iniciar sesión interactiva claude --version # verificar versión claude update # actualizar a la última versión
Autenticación
claude login # OAuth por navegador export ANTHROPIC_API_KEY="sk-ant-..." claude logout # cerrar sesión
Comandos Slash
Comandos de Sesión
/helpMostrar comandos disponibles
/clearLimpiar historial de conversación
/compactCondensar contexto para ahorrar tokens
/costMostrar uso de tokens y costo
/statusMostrar información de sesión y modelo
/newIniciar una nueva conversación
/configAbrir o ver configuración
/doctorDiagnosticar problemas de configuración
/initCrear un CLAUDE.md para el proyecto
/loginAutenticarse con Anthropic
/logoutCerrar autenticación
Comandos de Flujo de Trabajo
/bugReportar un error
/reviewSolicitar una revisión de código
/prCrear o actualizar un pull request
/commitHacer commit de los cambios staged con un mensaje
Atajos de Teclado
Ctrl+CCancelar generación actual
Ctrl+DSalir de Claude Code (EOF)
EscapeCancelar entrada / edición actual
TabAutocompletar rutas de archivos y comandos
Up/DownNavegar historial de entrada
Flags CLI
Flags Comunes
-p, --printModo no interactivo (headless)
--modelEstablecer modelo: opus, sonnet, haiku
--output-formatSalida como text, json, stream-json
--allowedToolsRestringir herramientas: Edit,Read,Bash
--max-turns NLimitar turnos de conversación
--debugHabilitar logging de depuración
-n, --nameNombrar la sesión
Headless / Scripting
claude -p "explain this error" < log.txt claude -p "list todos" --output-format json echo "fix typos" | claude -p
Archivos de Configuración
Jerarquía de CLAUDE.md
./CLAUDE.mdInstrucciones a nivel de proyecto (en el repo)
./.claude/settings.jsonConfiguración del proyecto (permisos, hooks)
~/.claude/CLAUDE.mdInstrucciones globales del usuario (todos los proyectos)
~/.claude/settings.jsonConfiguración global del usuario
~/.claude/projects/*/CLAUDE.mdInstrucciones de usuario por proyecto (fuera del repo)
Variables de Entorno
ANTHROPIC_API_KEYClave API para autenticación directa
CLAUDE_MODELOverride del modelo por defecto
CLAUDE_CONFIG_DIRRuta personalizada del directorio de configuración
Permisos
settings.json
{ "permissions": { "allow": ["Read", "Glob", "Grep"], "deny": ["Bash(rm *)"] } }
Modos de Permiso
defaultPreguntar antes de herramientas de riesgo
--dangerously-skip-permissionsPermitir todas las herramientas (solo CI/scripts)
--allowedToolsFlag CLI para restringir conjunto de herramientas
Servidores MCP
¿Qué Son los Servidores MCP?
Los servidores Model Context Protocol extienden Claude Code con herramientas personalizadas — bases de datos, APIs, servicios. Se gestionan vía CLI o `.mcp.json`.
Gestión por CLI
claude mcp add server-name -- cmd arg1 arg2 claude mcp list claude mcp remove server-name
Config .mcp.json
{ "mcpServers": { "my-db": { "command": "python", "args": ["-m", "mcp_server_db"], "env": { "DB_URL": "${DATABASE_URL}" } } } }
Alcance
.mcp.jsonServidores MCP a nivel de proyecto
~/.claude/mcp.jsonServidores MCP globales del usuario
claude mcp add -s userAgregar al alcance de usuario
claude mcp add -s projectAgregar al alcance de proyecto
Hooks
Eventos de Hook
PreToolUseSe ejecuta antes de usar una herramienta
PostToolUseSe ejecuta después de completar una herramienta
NotificationSe ejecuta cuando Claude envía una notificación
StopSe ejecuta cuando Claude termina una respuesta
Ejemplo de settings.json
{ "hooks": { "PreToolUse": [{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "check-command.sh $INPUT" }] }] } }
Comportamiento de Hooks
exit 0Permitir que la herramienta continúe
exit 2Bloquear la ejecución de la herramienta
stdoutFeedback JSON a Claude
SDK y Automatización
Scripting Headless
# Single prompt, get JSON output claude -p "summarize main.py" \ --output-format json # Pipe input git diff | claude -p "review this diff"
CI / GitHub Actions
- uses: anthropics/claude-code-action@v1 with: claude_args: > --max-turns 5 --model claude-sonnet-4-6
Consejos
Usa `--max-turns` para limitar el costo en automatización. Usa `--output-format json` para parsear resultados programáticamente. Combina con `--allowedTools` para mayor seguridad.
Modelos
Selección de Modelo
claude --model opus # mayor capacidad claude --model sonnet # equilibrado (por defecto) claude --model haiku # más rápido, más económico
Atajos de Modelo
opusClaude Opus — máxima capacidad
sonnetClaude Sonnet — por defecto, equilibrado
haikuClaude Haiku — rápido y económico
--model full-nameej. claude-sonnet-4-6
Buenas Prácticas
Escribir CLAUDE.md
Incluye convenciones del proyecto, stack tecnológico, comandos de build e instrucciones de prueba en CLAUDE.md. Mantenlo conciso — Claude lo lee en cada sesión. Usa `/init` para generarlo.
Gestión de Costos
/costVerificar uso de tokens en curso
/compactComprimir contexto cuando crece mucho
--max-turnsLimitar turnos en automatización
sonnet / haikuUsar modelos más económicos para tareas simples
Prompts Efectivos
Sé específico"Fix the null check in auth.ts:42" > "fix bug"
Da contextoReferencia archivos, funciones, mensajes de error
Usa @fileReferencia archivos directamente: @src/main.ts
Usa imágenesArrastra capturas de pantalla para contexto visual
IteraSigue refinando; usa /clear para reiniciar