Claude Code no es un editor — es un agente de desarrollo que vive en tu terminal. Le dices qué hacer, y él lee tu código, planifica, implementa, ejecuta comandos, corre tests, y commitea. Esta guía te lleva desde la instalación hasta un flujo de trabajo real.
Requisitos Previos
- Node.js 18+ instalado
- Cuenta de Anthropic (se puede autenticar con tu cuenta de Claude o con API key)
- Git configurado en tu máquina
- Un proyecto existente con repositorio git inicializado
Paso 1: Instalación
npm install -g @anthropic-ai/claude-code
Verifica la instalación:
claude --version
Navega a tu proyecto:
cd tu-proyecto
claude
La primera vez, Claude Code te pedirá autenticarte. Puedes usar tu cuenta de Anthropic directamente o configurar una API key.
Paso 2: Tu Primer Sesión
Al ejecutar claude, entras en un modo conversacional en la terminal. Prueba algo simple primero:
> Analiza la estructura de este proyecto y dame un resumen de la
arquitectura, las dependencias principales, y cualquier problema
potencial que notes.
Claude Code va a:
- Leer tu estructura de archivos
- Analizar package.json, configuraciones, y archivos clave
- Darte un resumen organizado del proyecto
Esto es útil para confirmar que Claude Code entiende tu proyecto antes de pedirle cambios.
Paso 3: Crear CLAUDE.md
El archivo CLAUDE.md en la raíz de tu proyecto es la pieza más importante para obtener buenos resultados. Es el equivalente a las Rules de Cursor o las custom instructions de Copilot.
Crea CLAUDE.md:
# Proyecto: API de Gestión de Inventario
## Stack
- Runtime: Node.js 20 con TypeScript
- Framework: Fastify
- ORM: Drizzle con PostgreSQL
- Auth: JWT con refresh tokens
- Testing: Vitest
- Linting: Biome
## Estructura
src/
routes/ → Rutas de Fastify organizadas por recurso
services/ → Lógica de negocio
repositories/ → Acceso a datos con Drizzle
schemas/ → Validación con Zod
middleware/ → Auth, rate limiting, logging
utils/ → Helpers compartidos
## Convenciones
- Repository pattern: routes → services → repositories
- Validación de inputs siempre en la capa de routes con Zod
- Errores tipados con clases custom (AppError, ValidationError, NotFoundError)
- Nombres de variables y funciones en inglés
- Commits en inglés siguiendo Conventional Commits
- Tests junto al archivo que testean (archivo.test.ts)
## Comandos
- `npm run dev` — servidor de desarrollo
- `npm run test` — correr todos los tests
- `npm run test:watch` — tests en modo watch
- `npm run lint` — linting con Biome
- `npm run db:migrate` — correr migraciones
- `npm run db:generate` — generar migraciones desde schema
## Notas Importantes
- La base de datos está en Supabase, no crear migraciones destructivas sin confirmación
- Los endpoints públicos necesitan rate limiting
- Nunca hardcodear secrets, siempre usar variables de entorno
Claude Code lee este archivo automáticamente al iniciar cada sesión.
Paso 4: Flujo de Trabajo para Implementar una Feature
Veamos un flujo completo para agregar funcionalidad:
> Necesito agregar un endpoint para gestionar categorías de productos.
Cada categoría tiene: id, nombre, descripción (opcional), slug
(generado del nombre), y timestamps.
Necesito:
1. Schema de Drizzle y migración
2. Repository con CRUD completo
3. Service con validación de negocio (nombre único, slug único)
4. Routes: GET /categories, GET /categories/:id, POST /categories,
PUT /categories/:id, DELETE /categories/:id
5. Tests para el service
Sigue los patrones existentes del proyecto.
Claude Code va a:
- Leer los archivos existentes para entender los patrones (routes, services, repositories actuales)
- Planificar la implementación
- Crear cada archivo siguiendo las convenciones del proyecto
- Generar la migración de base de datos
- Escribir los tests
Después de implementar, puedes pedirle que ejecute los tests:
> Corre los tests para verificar que todo funciona
Claude Code ejecuta npm run test (o el comando que definiste en CLAUDE.md), ve los resultados, y si hay fallos, los arregla automáticamente.
Paso 5: Comandos Esenciales
Dentro de una sesión de Claude Code:
/compact— resume la conversación actual para liberar espacio en el context window. Esencial para sesiones largas./clear— limpia el historial de la conversación/cost— muestra cuántos tokens has consumido en la sesión/help— lista todos los comandos disponibles
Permisos: Claude Code te pedirá permiso antes de ejecutar comandos en la terminal o escribir archivos. Puedes configurar permisos más permisivos si confías en lo que está haciendo:
- Presiona
Allowpara una acción individual - Presiona
Allow alwayspara permitir ese tipo de acción en el futuro
Paso 6: MCP (Model Context Protocol)
MCP permite conectar Claude Code a herramientas externas. Configura MCP servers en ~/.claude/claude_desktop_config.json o en .claude/settings.json de tu proyecto:
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": ["-y", "@supabase/mcp-server"],
"env": {
"SUPABASE_URL": "tu-url",
"SUPABASE_SERVICE_KEY": "tu-key"
}
}
}
}
Con MCP configurado, Claude Code puede consultar tu base de datos directamente, leer schemas actuales, y generar código más preciso.
Algunos MCP servers útiles:
- Supabase — acceso directo a tu base de datos
- GitHub — crear issues, PRs, revisar código
- Filesystem — acceso expandido a archivos fuera del proyecto
- Brave Search — buscar documentación y soluciones en la web
Paso 7: Flujo de Trabajo de Debugging
Claude Code es excelente para debugging. Flujo práctico:
> El endpoint POST /products está devolviendo 500 cuando envío un
producto con precio decimal. Investiga el error, identifica la
causa, y corrígelo. Después agrega un test que cubra este caso.
Claude Code va a:
- Leer la ruta, el service, y el repository relevantes
- Identificar dónde se rompe (probablemente validación de tipos o parsing)
- Corregir el bug
- Escribir un test que reproduzca el caso
- Ejecutar los tests para confirmar que funciona
Paso 8: Hooks para Automatización
Los hooks ejecutan scripts antes o después de acciones de Claude Code. Configura en .claude/settings.json:
{
"hooks": {
"afterWrite": {
"command": "npx biome check --write {{file}}"
}
}
}
Esto corre el linter automáticamente después de cada archivo que Claude Code escribe, asegurando que el formato siempre sea correcto.
Otros hooks útiles:
afterWrite— lint, format, validación de tiposbeforeCommit— correr tests antes de commitearafterCommit— notificaciones, deploy preview
Errores Comunes
No crear CLAUDE.md. Sin contexto, Claude Code genera código genérico. Con un buen CLAUDE.md, genera código que se integra naturalmente con tu proyecto.
Sesiones demasiado largas sin /compact. El context window se llena y la calidad de las respuestas baja. Usa /compact regularmente en sesiones largas.
No dejar que ejecute tests. Claude Code es más efectivo cuando puede iterar: escribir código → correr tests → ver errores → corregir. Si no le das permiso para ejecutar comandos, pierde esta capacidad.
Pedir demasiado en un solo prompt. Para features grandes, divide en pasos. “Primero crea el schema y la migración” → verifica → “Ahora el repository y el service” → verifica → “Ahora las routes y los tests”.
Resultado
Tu flujo de trabajo con Claude Code:
- Abres la terminal en tu proyecto
- Claude Code lee CLAUDE.md y entiende tu contexto
- Le describes la tarea en lenguaje natural
- Él planifica, implementa, testea, y commitea
- Tú revisas los cambios y ajustas si es necesario
Es como tener un desarrollador junior muy rápido y disponible 24/7 que sigue tus convenciones al pie de la letra — siempre que le des un buen CLAUDE.md.
¿Ya usas Claude Code? Comparte tu CLAUDE.md y tus flujos de trabajo. ![]()