Skip to content

Empieza un nuevo proyecto

Para crear un nuevo proyecto de Wabot, sigue estos sencillos pasos.

Requisitos previos

  • Node.js 22 (la plantilla fija esta versión en .nvmrc)
  • npm (incluido con Node.js)
  • Recomendamos usar nvm para gestionar versiones de Node:
Terminal window
nvm install 22
nvm use 22

Si ejecutas el asistente con otra versión de Node, abortará con un mensaje indicándote cómo cambiar a Node 22.

Creación del proyecto

Abre tu terminal y ejecuta:

Terminal window
npx @wabot-dev/create

El asistente interactivo te dará la bienvenida y te guiará a través de cuatro preguntas:

1. Nombre del proyecto

Terminal window
What is your project named? my-wabot-app

2. Almacenamiento

Terminal window
? How do you want to store data?
In-memory (quickest start, data resets on restart)
PostgreSQL (persistent, recommended for real bots)
  • In-memory es la opción más rápida para empezar: no necesitas instalar ni configurar nada. Los datos se reinician cada vez que reinicias el bot.
  • PostgreSQL es la opción recomendada para bots reales. Si la eliges, el asistente te pedirá la cadena de conexión DATABASE_URL. Puedes dejarla vacía y completarla más tarde en el archivo .env.

3. Proveedores de IA

Terminal window
? Which AI providers will you use? (space to toggle, enter to confirm)
OpenRouter Used by the included Pixel example
OpenAI GPT models via the official OpenAI API
Anthropic Claude models
Google Gemini models

Selecciona uno o varios proveedores con la barra espaciadora y confirma con Enter. Por cada proveedor seleccionado, el asistente te pedirá su API key. Puedes dejarlas vacías y completarlas más tarde en .env.

Importante: si dejas una API key vacía en .env, el proyecto fallará al iniciarse con un mensaje claro. Para evitarlo, comenta la línea (# OPENROUTER_API_KEY=) hasta que tengas la clave real, o elimínala.

4. Skills para agentes de IA

Terminal window
? Install Wabot agent skills (11) into the new project? › (Y/n)
? Install for which agents? (space to toggle, enter to confirm)
Claude Code (.claude/skills)
Codex (.codex/skills)
Generic agents (.agents/skills)

Wabot incluye un paquete de skills (guías compactas del framework) para agentes de programación con IA como Claude Code o Codex. Si aceptas, el asistente las instala dentro del proyecto (.claude/skills, .codex/skills y/o .agents/skills, según los agentes que elijas), de modo que cualquier agente que trabaje en tu proyecto conozca la API real del framework.

También puedes instalarlas más tarde con create-wabot skill add <skill>.

Instalación automática

Cuando termines de responder, el asistente:

  1. Descarga la plantilla @wabot-dev/template en el directorio del proyecto.
  2. Escribe el archivo .env con las variables que elegiste.
  3. Ejecuta npm install automáticamente.

Mensaje de éxito

Terminal window
Project my-wabot-app is ready.
Next steps:
cd my-wabot-app
npm run dev
Happy hacking! 🚀

Si dejaste alguna API key o DATABASE_URL vacía, verás una advertencia recordándote que la completes en .env antes de iniciar el bot.

Variables de entorno generadas

El archivo .env generado tiene esta forma (las variables no seleccionadas quedan comentadas para que las habilites cuando las necesites):

Terminal window
# debug important things
DEBUG=wabot:*:error,wabot:*:warn,wabot:*:info
# using in-memory storage (set DATABASE_URL to switch to postgres)
# DATABASE_URL=
# AI provider keys
OPENROUTER_API_KEY=sk-or-...
# OPENAI_API_KEY=
# ANTHROPIC_API_KEY=
# GOOGLE_API_KEY=

Encontrarás más detalles sobre cada variable en la guía Variables de entorno.

Iniciar el proyecto

Terminal window
cd my-wabot-app
npm run dev

Comandos disponibles

Dentro del directorio del proyecto:

  • npm run dev: Inicia el servidor de desarrollo
  • npm run dev:watch: Igual que dev, pero reinicia al detectar cambios
  • npm run cmd: Abre un chat de terminal con tu bot (canal @cmd)
  • npm run build: Compila el proyecto para producción
  • npm start: Ejecuta el bundle generado en ./dist
  • npm run tsc: Sólo verifica tipos (sin emitir archivos)
  • npm run test:unit: Ejecuta los tests unitarios

Siguiente paso

Antes de configurar tu bot, es importante entender cómo funciona la inyección de dependencias en Wabot: Inyección de Dependencias.