Skip to content

Ejemplos Prácticos

Aquí encontrarás ejemplos reales de cómo usar OpenCode en tu día a día como desarrollador.


Terminal window
# Inicia en tu proyecto
opencode .
# Describe el problema
[Plan] Hay un error en la función de login que no puedo identificar
# Analiza el código para entender el problema
Revisa @src/auth/login.ts y dime qué podría estar causando timeouts
# Implementa la corrección
[Build] Corrige el timeout en la línea 45
Terminal window
# Pega el stack trace directamente
[Plan] Este error ocurre cuando subo archivos grandes:
Error: RangeError: Maximum call stack exceeded
at compressImage (utils/image.js:234)
at processImage (utils/image.js:189)
at uploadHandler (handlers/upload.js:45)
¿Cuál es la causa y cómo lo soluciono?

Terminal window
# Genera tests unitarios
[Build] Crea tests unitarios para @utils/validation.js usando Vitest
# El resultado incluirá:
# - Tests para casos válidos
# - Tests para casos edge
# - Tests para casos de error
Terminal window
# Ejecuta tests y analiza
!npm test
# Ahora pregunta sobre los fallos
[Plan] Hay 3 tests fallando. ¿Cuál es la causa raíz de cada uno?

Terminal window
# Solicita análisis de mejoras
[Plan] ¿Cómo puedo refactorizar @src/components/Table.jsx para ser más performante?
# Revisa el plan y ejecuta
[Build] Aplica las mejoras sugeridas, manteniendo la API existente
Terminal window
# Conversión a patrones modernos
[Plan] Convierte este componente de class component a functional component con hooks:
@src/components/UserProfile.jsx
# Incluye:
# - useState para estado
# - useEffect para efectos
# - PropTypes o TypeScript

Terminal window
# Solicita la implementación
[Build] Crea una API REST para gestión de usuarios con:
- GET /api/users - Listar usuarios
- POST /api/users - Crear usuario
- GET /api/users/:id - Obtener usuario
- PUT /api/users/:id - Actualizar usuario
- DELETE /api/users/:id - Eliminar usuario
Usa Express.js y sigue las rutas en @src/routes/
Terminal window
# Componente con especificaciones
[Build] Crea un componente Modal en @src/components/Modal.tsx que:
- Acepta props: isOpen, title, children, onClose
- Usa React Portal
- Incluye animación de fade
- Es accesible (WAI-ARIA)

Terminal window
# Análisis completo del proyecto
[Explore] Analiza este proyecto y dime:
- ¿Qué tecnología usa?
- ¿Cuál es la estructura de carpetas?
- ¿Dónde está la lógica de autenticación?
- ¿Cómo se estructura la base de datos?
Terminal window
# Encontrar dónde se usa algo
[Explore] ¿Dónde se define y usa la función `parseToken` en este proyecto?
# Encontrar patrones
[Explore] Encuentra todos los archivos que usan `useEffect` y no tienen cleanup

Terminal window
# Revisar y actualizar paquetes
[Plan] ¿Cuáles son las dependencias desactualizadas en package.json?
Sugiere cómo actualizarlas sin romper nada
Terminal window
# Crear pipeline
[Build] Crea un workflow de GitHub Actions en .github/workflows/ci.yml que:
- Ejecute tests en Node 18 y 20
- Corra lint y typecheck
- Suba coverage a Codecov
- Use caching para npm

Terminal window
# Encontrar código muerto
[Explore] Encuentra funciones que están definidas pero nunca usadas en @src/
# Luego elimínalas
[Build] Elimina las funciones no usadas que identificaste
Terminal window
# Reordenar y limpiar
[Build] Organiza los imports en @src/App.tsx:
- Imports de Node.js primero
- Luego de terceros
- Finalmente locales
- Elimina los no usados

Terminal window
# Combina análisis + implementación
!git diff --name-only | xargs -I {} echo "Analizando {}" && [Plan] ¿Qué cambios hay en estos archivos?
# Usar resultado anterior
El código que analizamos antes, ¿cómo lo haríamos más performante?
ModoCuándo usarlo
PlanAnalizar, planificar, entender, explorar
BuildEscribir código, crear archivos, modificar

💡 Tip: Cambia entre modos con Tab. Plan es más rápido y barato porque solo lee. Build hace cambios reales.