Ejecutar Chef Claude localmente
Usa esta página para ejecutar el proyecto de recetas de Chef Claude extraído de Learn React en tu computadora. Adaptas la clave del proveedor que usa su app de Vite, instalas las dependencias antiguas de React que declara, y generas una receta localmente. Si el lado de React del proyecto es nuevo para ti, el manual de React comienza desde el principio.
Qué necesitas primero
Instala una versión LTS soportada de Node.js. Se recomienda Node 24 e incluye npm.
Verifica que ambos comandos funcionen:
$ node --version
v24.18.0
$ npm --version
11.18.0También necesitas una clave de API del proveedor que uses. El código del curso incluye una ruta de Anthropic y una ruta de Hugging Face. El registro de proveedores, la disponibilidad de modelos y los precios pueden cambiar, así que usa las instrucciones actuales de cuenta del proveedor. Sea cual sea la ruta que elijas, usa una clave temporal con un límite de gasto bajo; el proyecto llama al proveedor desde código del navegador.
Abre la carpeta del proyecto
Abre una terminal en la carpeta de Chef Claude extraída que contiene package.json:
$ cd path-to-your-downloaded-projectAntes de ejecutar cualquier cosa, abre package.json. Su bloque scripts muestra los comandos que el proyecto espera, y dependencies registra los paquetes exactos de React y del proveedor con los que se construyó esta snapshot.
package.json; cada comando y archivo en esta página pertenece allí. Si un comando reporta que falta un archivo, verifica en qué carpeta está la terminal antes de cambiar cualquier otra cosa. Los errores causados por la carpeta incorrecta me mantuvieron atrapado durante horas cuando comencé. Haz que las variables de entorno funcionen en Vite
El editor de Scrimba entiende process.env.ANTHROPIC_API_KEY y process.env.HF_ACCESS_TOKEN. Una app de Vite local no proporciona ese objeto process.env en el navegador.
Abre ai.js y cambia el valor de Anthropic de:
apiKey: process.env.ANTHROPIC_API_KEY,a:
apiKey: import.meta.env.VITE_ANTHROPIC_API_KEY,Cambia el valor de Hugging Face de:
const hf = new HfInference(process.env.HF_ACCESS_TOKEN)a:
const hf = new HfInference(import.meta.env.VITE_HF_ACCESS_TOKEN)El prefijo VITE_ es obligatorio porque Vite expone solo variables de entorno con prefijo especial al código del navegador.
Reemplaza el modelo de Anthropic retirado
La función de Anthropic descargada usa el modelo retirado claude-3-haiku-20240307. En la función getRecipeFromChefClaude, cambia:
model: "claude-3-haiku-20240307",al reemplazo documentado de Anthropic:
model: "claude-haiku-4-5-20251001",El resto de la solicitud del curso puede mantenerse sin cambios.
Agrega tus claves a .env
Crea .env junto a package.json. Agrega el valor para la ruta que uses:
VITE_ANTHROPIC_API_KEY=your-anthropic-key-here
VITE_HF_ACCESS_TOKEN=your-hugging-face-token-herePuedes omitir el valor que no uses. El proyecto llama a getRecipeFromChefClaude de forma predeterminada, así que si dejas esa función como está, necesitas el valor de Anthropic y el cambio de modelo anterior. Para usar la ruta de Hugging Face, que llama un modelo Mistral, sigue la lección de cambio de proveedor del curso y confirma que su modelo de Hugging Face aún está disponible.
Crea .gitignore junto a package.json y agrega:
.env
node_modules/Mantener .env fuera de Git es tan importante como la exposición del navegador descrita en la advertencia de abajo, porque una clave que llega al historial del repositorio se queda allí incluso después de que elimines el archivo. El manual de Git cubre el hábito más amplio en ignorar archivos y buenas prácticas.
Estas claves son visibles en el navegador
El prefijo VITE_ deliberadamente pone cada valor en el bundle del frontend. Usa credenciales temporales y restringidas solo para aprendizaje local. Nunca despliegues ni compartas esta versión, y nunca hagas commit de .env. Una versión de producción necesita un backend o una función sin servidor que mantenga las credenciales del proveedor en el servidor.
ai.js, agrega la clave que uses a .env, y mantén ese archivo fuera de Git. La clave permanece visible en el navegador. Instala y ejecuta el proyecto
El proyecto extraído usa una versión previa de React 19 junto con una dependencia cuyo rango de pares no acepta esa versión previa. Una npm install normal por lo tanto se detiene con un error ERESOLVE. Instala esta snapshot del curso con su verificación de pares relajada:
$ npm install --legacy-peer-deps
$ npm startVite imprime una dirección local similar a:
VITE ready
Local: http://localhost:5173/Abre la URL exacta de Local. Si 5173 está ocupado, Vite elige otro puerto e lo imprime. Agrega suficientes ingredientes para solicitar una receta. Una receta renderizada confirma dos cosas: la página local funciona, y la clave y el modelo del proveedor seleccionado funcionan. Detén el proyecto con Ctrl+C.
Reinicia Vite después de cambiar .env.
npm install --legacy-peer-deps, luego npm start y abre la URL Local que imprime. Presiona Ctrl+C cuando quieras detenerlo. El indicador suena como una advertencia, y es aún la opción correcta para este proyecto, así que úsalo sin pensar que has roto algo. Solución de problemas
ERESOLVE unable to resolve dependency tree: Usa npm install --legacy-peer-deps para este proyecto extraído. No elimines ni reemplaces paquetes de React para superar la instalación.
process is not defined: Uno o ambos valores de estilo Scrimba process.env permanecen en ai.js. Reemplázalos con los formularios import.meta.env.VITE_... mostrados arriba, luego reinicia Vite.
La clave es undefined o la autenticación falla: Verifica el nombre exacto de la variable VITE_, asegúrate de que .env esté junto a package.json, y reinicia el proyecto. Confirma que la credencial está activa en la cuenta del proveedor.
Anthropic dice que el modelo no se encontró o está retirado: Confirma que ai.js usa claude-haiku-4-5-20251001, no claude-3-haiku-20240307. Si Anthropic posteriormente retira el reemplazo, usa el sucesor nombrado en su documentación actual de obsolescencia de modelos.
Hugging Face rechaza el modelo Mistral: Confirma que el modelo en ai.js está disponible a través del proveedor de inferencia conectado a tu cuenta. Una página de modelo puede permanecer descargable incluso cuando no está disponible a través de tu proveedor de inferencia alojada elegido.
Si quieres publicar esta página: No publiques esta versión solo de frontend. Mueve la solicitud de IA y la credencial a un backend primero.
ERESOLVE, reemplaza cada lectura de clave antigua cuando veas process is not defined, y reinicia el proyecto después de editar .env. La mayoría de estos errores describen la solución dentro del mensaje mismo. Lee todo el mensaje antes de cambiar cualquier cosa, lo que me tomó demasiado tiempo aprender. 
