¿Qué es Claude Code?
Claude Code es la herramienta oficial de línea de comandos (CLI) de Anthropic que permite interactuar con Claude directamente desde tu terminal. A diferencia de la interfaz web, Claude Code está diseñado específicamente para desarrolladores: puede leer y editar archivos, ejecutar comandos, gestionar repositorios Git y trabajar con tu codebase de forma contextual.
Piensa en él como un compañero de pair programming que vive en tu terminal, entiende la estructura de tu proyecto y puede ejecutar acciones reales sobre tu código.
Instalación
La instalación es sencilla a través de npm. Necesitas Node.js 18 o superior:
# Instalación global
npm install -g @anthropic-ai/claude-code
# Verificar la instalación
claude --version
# Iniciar Claude Code en tu proyecto
cd tu-proyecto
claude
También puedes usar npx sin instalación global:
npx @anthropic-ai/claude-codeConfiguración inicial
La primera vez que ejecutes claude, necesitarás configurar tu clave de API de Anthropic. Puedes obtenerla desde console.anthropic.com.
# Configurar la API key como variable de entorno
export ANTHROPIC_API_KEY="sk-ant-api03-..."
# O bien, Claude Code te pedirá la clave en el primer inicio
claudeAl iniciar por primera vez, Claude Code escaneará tu proyecto para entender su estructura. Este contexto inicial es fundamental para que las respuestas sean relevantes y precisas.
Archivo de configuración
La configuración se almacena en ~/.claude/settings.json para configuración global y en .claude/settings.json dentro de cada proyecto para configuración local:
{
"permissions": {
"allow": [
"Read",
"Glob",
"Grep",
"Edit",
"Write"
],
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force)"
]
},
"model": "claude-sonnet-4-20250514"
}Modelos disponibles: ¿cuándo usar cada uno?
Claude Code permite cambiar entre distintos modelos según la tarea que estés realizando. Cada uno tiene un balance diferente entre capacidad, velocidad y coste:
- Claude Opus 4: El modelo más capaz. Ideal para tareas complejas que requieren razonamiento profundo: arquitectura de sistemas, debugging difícil, refactoring masivo o decisiones de diseño. Es más lento y costoso, pero la calidad de las respuestas justifica su uso en tareas críticas.
- Claude Sonnet 4: El equilibrio perfecto para el día a día. Rápido, capaz y con buen coste. Úsalo para la mayoría de tareas: implementar features, escribir componentes, code review, y consultas generales sobre tu código.
- Claude Haiku: El más rápido y económico. Perfecto para tareas sencillas y repetitivas: generar boilerplate, formatear código, preguntas rápidas o tareas de búsqueda simple.
# Cambiar modelo durante una sesión
/model claude-opus-4-20250514
/model claude-sonnet-4-20250514
/model claude-haiku-4-20250514Sistema de permisos
Uno de los aspectos más importantes de Claude Code es su sistema de permisos, que te da control granular sobre qué acciones puede ejecutar de forma autónoma.
allowedTools
Define qué herramientas puede usar Claude Code sin pedirte confirmación:
{
"permissions": {
"allow": [
"Read",
"Edit",
"Write",
"Glob",
"Grep",
"Bash(npm run lint)",
"Bash(npm run build)",
"Bash(npm test)"
]
}
}Patrones deny
Puedes bloquear comandos específicos que consideres peligrosos:
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force)",
"Bash(git reset --hard)",
"Bash(DROP TABLE)",
"Bash(sudo *)"
]
}
}Auto-aprobación
Para flujos de trabajo automatizados, puedes configurar la auto-aprobación de ciertas herramientas. Esto es útil cuando ejecutas Claude Code en pipelines de CI/CD o scripts automatizados, pero úsalo con precaución en entornos de desarrollo local.
Hooks: automatiza tu flujo de trabajo
Los hooks te permiten ejecutar scripts personalizados en momentos clave del flujo de trabajo de Claude Code:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": "echo 'Editando archivo...'"
}
]
}
],
"PostToolUse": [
{
"matcher": "Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}
]
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "echo 'Sesión iniciada en: '$(date)"
}
]
}
]
}
}Los hooks más útiles en la práctica son:
- PreToolUse: Validar o transformar datos antes de que Claude ejecute una acción.
- PostToolUse: Ejecutar formateo automático después de ediciones, o registrar cambios en un log.
- SessionStart: Cargar contexto adicional o verificar el entorno al inicio de cada sesión.
El archivo CLAUDE.md
El archivo CLAUDE.md es uno de los recursos más poderosos de Claude Code. Es un archivo Markdown que se carga automáticamente al inicio de cada sesión y actúa como un prompt persistente que proporciona contexto sobre tu proyecto.
¿Qué incluir?
- Visión general del proyecto: Qué es, qué tecnologías usa, cómo está estructurado.
- Comandos frecuentes:
npm run dev,npm run build,npm run test. - Estructura de directorios: Un árbol simplificado con las carpetas más importantes.
- Convenciones de código: Naming conventions, patrones de arquitectura, reglas de linting.
- Restricciones explícitas: Qué no debe hacer Claude (ej: no añadir dependencias innecesarias, no modificar configuración de deploy).
- Variables de entorno: Cuáles existen y para qué se usan (sin incluir valores reales).
Buenas prácticas
# CLAUDE.md — Guía para IA
## Quick Reference
```bash
npm run dev # Servidor de desarrollo
npm run build # Build de producción
npm run lint # Ejecutar linter
```
## Convenciones
- Componentes: PascalCase
- Utilidades: camelCase
- TypeScript estricto: no debilitar la configuración
## No hacer
- No crear archivos de test (no hay framework configurado)
- No modificar la configuración de despliegue
- No añadir dependencias sin justificaciónAtajos de teclado y comandos útiles
Durante una sesión de Claude Code, puedes utilizar estos comandos para gestionar tu flujo de trabajo:
/help— Muestra todos los comandos disponibles y su descripción./model— Cambia el modelo de IA durante la sesión sin reiniciar./clear— Limpia el historial de la conversación actual para empezar fresco./compact— Comprime el contexto de la conversación para liberar tokens, útil en sesiones largas./cost— Muestra el coste acumulado de la sesión actual./status— Muestra información sobre la conexión y el modelo actual.Esc— Cancela la acción en curso si Claude está generando una respuesta larga.
Consejos para el día a día
1. Proporciona contexto claro
En lugar de decir "arregla el bug", sé específico: "El formulario de contacto en ContactModal.tsx no valida correctamente el campo de email cuando el usuario introduce un dominio con caracteres especiales".
2. Trabaja de forma iterativa
No pidas cambios masivos de una sola vez. Divide las tareas grandes en pasos pequeños y verifica cada uno antes de continuar. Claude Code es mejor cuando puede ver el resultado de cada paso.
3. Revisa siempre los cambios
Usa git diff después de cada cambio para verificar exactamente qué se modificó. Claude Code es poderoso, pero la revisión humana sigue siendo esencial.
4. Usa /compact en sesiones largas
Cuando llevas mucho rato en una sesión, el contexto puede crecer demasiado. Usa /compact para comprimir la conversación y mantener el rendimiento.
5. Integra con Git
Claude Code trabaja nativamente con Git. Puedes pedirle que cree commits, revise diffs, o incluso genere pull requests. Aprovecha esta integración para mantener un historial limpio:
# Dentro de Claude Code, puedes pedir:
# "Crea un commit con los cambios actuales"
# "Muéstrame el diff de los últimos cambios"
# "Crea un PR con título y descripción"6. Nunca compartas secretos
Asegúrate de que tus archivos .env están en .gitignore y de que los deny patterns bloquean cualquier comando que pueda exponer credenciales. Claude Code respeta tus configuraciones de seguridad, pero la primera línea de defensa siempre eres tú.