Cómo hacer que Claude programe una app paso a paso
Aprende a usar la API de Claude para generar el código completo de una app funcional desde cero.

- Cuenta en console.anthropic.com con API key activa
- Python 3.9+ o Node.js 18+ instalado
- Conocimientos básicos de terminal y Git
- Un editor de código (VS Code recomendado)
- Estructurar prompts que producen código completo y ejecutable
- Usar la API de Claude para generar una app de tareas con backend
- Iterar sobre el código generado corrigiendo errores con Claude
- Aplicar buenas prácticas de contexto para apps más grandes
Configurar el entorno y la API key
Antes de que Claude programe nada necesitas acceso a la API. Entra en console.anthropic.com, crea una API key y guárdala como variable de entorno para no exponerla en el código (crítico si trabajas en un repo compartido). En España y LATAM el pago se hace por consumo de tokens, así que empieza con un límite bajo mientras experimentas. Instala el SDK oficial de Python. Verifica que la key funciona con una llamada mínima antes de pedir código complejo: así descartas problemas de autenticación desde el principio.
export ANTHROPIC_API_KEY='sk-ant-tu-clave-aqui'
pip install anthropicDefinir la app con un prompt de especificación
El error más común es pedir 'hazme una app' sin contexto. Claude programa mucho mejor cuando le das una especificación clara: qué stack, qué funcionalidades, qué estructura de archivos y qué restricciones. Piensa como si escribieras un ticket para un colega junior con memoria perfecta. Aquí definimos una API REST de gestión de tareas con FastAPI y SQLite. Cuanto más concreto seas con endpoints, modelos de datos y formato de salida, menos iteraciones necesitarás. Pide explícitamente que devuelva el código organizado por archivos con nombres claros, porque eso facilita copiarlo tal cual a tu proyecto.
ESPEC = '''
Crea una API REST de gestión de tareas con:
- Stack: Python + FastAPI + SQLite (SQLAlchemy)
- Endpoints: GET /tasks, POST /tasks, PUT /tasks/{id}, DELETE /tasks/{id}
- Modelo Task: id, titulo, completada (bool), creada_en (datetime)
- Validación con Pydantic
- Devuelve el codigo separado por archivos: models.py, database.py, main.py
- Incluye instrucciones para ejecutar
'''Llamar a la API para generar el código
Ahora enviamos la especificación a Claude usando el modelo claude-opus-4-8, el más capaz para tareas de generación de código complejas. Usamos un system prompt que fija el rol de desarrollador senior y exige código listo para producción, sin explicaciones innecesarias entre líneas. Subimos max_tokens porque generar varios archivos consume bastante salida. La respuesta llegará con bloques de código por archivo, tal como pedimos en la especificación. Guarda la respuesta completa para poder revisarla y extraer cada archivo.
from anthropic import Anthropic
client = Anthropic()
respuesta = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
system="Eres un desarrollador senior de Python. Escribe codigo limpio, funcional y listo para ejecutar. Separa cada archivo con un encabezado claro.",
messages=[
{"role": "user", "content": ESPEC}
]
)
print(respuesta.content[0].text)Guardar los archivos y ejecutar la app
Copia cada bloque de código a su archivo correspondiente (models.py, database.py, main.py) según los encabezados que devolvió Claude. Crea un entorno virtual para aislar las dependencias, instala FastAPI y Uvicorn, y arranca el servidor. Si todo está bien, tendrás la documentación interactiva disponible en /docs, donde puedes probar cada endpoint sin escribir un cliente. Este primer arranque es la prueba de fuego: es normal que aparezca algún error de import o de dependencia, y lo resolveremos en el siguiente paso iterando con Claude.
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install fastapi uvicorn sqlalchemy
uvicorn main:app --reloadIterar y corregir errores con Claude
Cuando algo falle, no reescribas el prompt desde cero: pásale a Claude el error exacto y el código relevante. El contexto del mensaje anterior importa, así que mantén la conversación en el mismo hilo pasando el historial en 'messages'. Copia el traceback completo, porque los mensajes de error contienen la pista precisa que Claude necesita. Este bucle de generar-ejecutar-corregir es el corazón del desarrollo asistido por IA: cada iteración acerca el código a algo que funciona. Pide cambios concretos ('corrige este ImportError') en vez de peticiones vagas.
historial = [
{"role": "user", "content": ESPEC},
{"role": "assistant", "content": respuesta.content[0].text},
{"role": "user", "content": "Al ejecutar sale este error, corrigelo:\n\nModuleNotFoundError: No module named 'database'"}
]
fix = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=historial
)
print(fix.content[0].text)Ampliar la app con nuevas funcionalidades
Con la base funcionando, pide extensiones incrementales: autenticación con tokens, filtros por estado, o un frontend simple. La clave es una función por petición para mantener el contexto manejable y poder revisar cada cambio. Para apps más grandes conviene darle a Claude el árbol de archivos actual y pedirle solo el diff o el archivo modificado. Si vas a construir algo serio sobre la API, te vendrá bien aprender a construir tu primera app con la API de Claude de forma estructurada, con manejo de errores, límites de tasa y despliegue. Documenta cada iteración en Git para poder volver atrás si una funcionalidad rompe algo.
nuevo_prompt = '''
Añade a la app anterior un endpoint GET /tasks/pendientes
que devuelva solo las tareas con completada=False.
Devuelve unicamente el codigo modificado de main.py.
'''Has construido una app funcional (una API REST de tareas con FastAPI y SQLite) generada íntegramente con la API de Claude, y dominas el bucle de generar-ejecutar-corregir que hace productivo el desarrollo asistido por IA. Sabes escribir especificaciones que producen código ejecutable a la primera, mantener contexto entre iteraciones y ampliar la app de forma incremental. Con esta base puedes construir tu primera app con la API de Claude aplicando manejo de errores y despliegue reales para proyectos de producción.