| name | run-app |
| description | Ejecuta aplicaciones detectando automáticamente el tipo de proyecto (Next.js, Node.js, Python, Docker). Verifica dependencias, variables de entorno, puertos y base de datos. Usar cuando el usuario pida iniciar, correr, ejecutar o levantar la aplicación o servidor. |
Correr Aplicación
Habilidad para detectar y ejecutar aplicaciones de manera automática.
Flujo de Ejecución
Sigue estos pasos en orden:
Progreso:
- [ ] Paso 1: Detectar tipo de proyecto
- [ ] Paso 2: Verificar dependencias
- [ ] Paso 3: Verificar variables de entorno
- [ ] Paso 4: Verificar puertos disponibles
- [ ] Paso 5: Iniciar base de datos (si aplica)
- [ ] Paso 6: Ejecutar la aplicación
Paso 1: Detectar Tipo de Proyecto
Busca estos archivos en la raíz del proyecto:
| Archivo | Tipo de Proyecto |
|---|
package.json + next.config.js | Next.js |
package.json (sin Next) | Node.js |
requirements.txt o pyproject.toml | Python |
docker-compose.yml | Docker Compose |
Dockerfile (sin compose) | Docker |
Prioridad: Si existe docker-compose.dev.yml, usar Docker para desarrollo.
Paso 2: Verificar Dependencias
Node.js / Next.js
ls node_modules 2>/dev/null || npm install
Si falla npm install, verificar:
- Node.js instalado:
node --version
- npm instalado:
npm --version
Python
python -m venv venv 2>/dev/null
source venv/bin/activate
pip install -r requirements.txt
Docker
docker --version
docker-compose --version
Paso 3: Verificar Variables de Entorno
- Buscar archivo
.env.example o .env.sample
- Si existe
.env.example pero no .env:
cp .env.example .env
- Notificar al usuario que debe configurar las variables en
.env
Variables críticas comunes:
DATABASE_URL - conexión a base de datos
API_KEY / SECRET_KEY - claves de API
PORT - puerto de la aplicación
Paso 4: Verificar Puertos
Puertos comunes por tipo de aplicación:
| Tipo | Puerto Default |
|---|
| Next.js | 3000 |
| React (CRA) | 3000 |
| Node.js | 3000 o 8080 |
| Django | 8000 |
| FastAPI | 8000 |
| Flask | 5000 |
| PostgreSQL | 5432 |
| MySQL | 3306 |
| Redis | 6379 |
Verificar si el puerto está en uso:
netstat -ano | findstr :3000
lsof -i :3000
Si está ocupado, sugerir cerrar el proceso o usar puerto alternativo.
Paso 5: Iniciar Base de Datos
Con Docker Compose
Si existe docker-compose.yml o docker-compose.dev.yml:
docker-compose up -d db
docker-compose -f docker-compose.dev.yml up -d db
Sin Docker
Verificar que el servicio de base de datos esté corriendo:
- PostgreSQL:
pg_isready
- MySQL:
mysqladmin ping
- MongoDB:
mongosh --eval "db.runCommand({ ping: 1 })"
Ejecutar Migraciones
Detectar herramienta de migraciones:
| Herramienta | Comando |
|---|
| Drizzle | npm run db:migrate o npx drizzle-kit migrate |
| Prisma | npx prisma migrate dev |
| TypeORM | npm run typeorm migration:run |
| Django | python manage.py migrate |
| Alembic | alembic upgrade head |
Paso 6: Ejecutar la Aplicación
Next.js
npm run dev
npm run build && npm start
Node.js
npm run dev
Python
python manage.py runserver
uvicorn main:app --reload
flask run
Docker Compose
docker-compose -f docker-compose.dev.yml up
docker-compose up -d
Comandos Rápidos por Proyecto
Este Proyecto (Next.js + Docker)
docker-compose -f docker-compose.dev.yml up
npm install
cp .env.example .env
npm run dev
Solución de Problemas Comunes
Error: Puerto en uso
netstat -ano | findstr :3000
taskkill /PID <PID> /F
kill -9 $(lsof -t -i:3000)
Error: Base de datos no conecta
- Verificar que el contenedor/servicio esté corriendo
- Verificar
DATABASE_URL en .env
- Verificar credenciales
Error: Módulos no encontrados
rm -rf node_modules package-lock.json
npm install
Error: Permisos Docker (Linux)
sudo usermod -aG docker $USER