Blog Recursos Acerca de Buscar Temas
Desarrollo con IA

Crea una App de Flashcards con GitHub SpecKit + VS Code Codex (Tutorial Basado en Especificaciones)

Actualizado el 15 de octubre de 2025

Categoría: Desarrollo con IA
Compartir

Tutorial SpecKit + Codex construyendo una app de Flashcards

En este post, construiremos una aplicación local de Flashcards usando GitHub SpecKit + la extensión Codex de VS Code. Seguiremos el flujo de Desarrollo Basado en Especificaciones de extremo a extremo: Especificación → Plan → Tareas → Implementación.

¿Por qué SpecKit para este proyecto? #why-speckit-for-this-project

El “vibe-coding” tradicional hace que los resultados sean difusos. SpecKit cambia el guion: escribes una especificación clara, creas un plan técnico, lo divides en tareas y dejas que tu agente de código implemente pequeñas porciones comprobables contigo en el bucle.

Prerrequisitos #prerequisites

  • VS Code con la extensión Codex (inicia sesión con tu cuenta de ChatGPT).
  • Git, Python 3.11+, y uv (lanzador/gestor de paquetes).
  • macOS, Linux, o Windows (WSL recomendado para la mejor experiencia de Codex en Windows).

Salida del terminal mostrando la inicialización exitosa de SpecKit con integración de Codex

Repositorio público: https://github.com/nicklaunches/flashcards-speckit

Instalar Specify CLI #install-specify-cli

Instalación persistente (recomendada):

Terminal
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
specify check

Iniciar proyecto conectado a Codex #init-project-wired-to-codex

Crea una carpeta e inicializa SpecKit para Codex:

Terminal
mkdir flashcards-speckit && cd flashcards-speckit
specify init . --ai copilot
# Los usuarios de Windows pueden añadir: --script ps

Abre la carpeta en VS Code y confirma que el panel de Copilot ha iniciado sesión.

Panel de Copilot en VS Code mostrando inicio de sesión exitoso

Establecer límites: Constitución #set-guardrails-constitution

En el chat de Copilot, ejecuta:

Copilot Chat
/speckit.constitution
Crea principios enfocados en:
- cortes verticales; 90% de las tareas < 30 minutos
- React + Next.js + TypeScript; SQLite vía Drizzle
- unit tests para lógica core; Playwright smoke
- accesibilidad (WCAG AA); presupuesto de rendimiento: First Load JS < 160KB
- offline-first (sin servicios externos, todo local)

Esto crea/actualiza un archivo de constitución que los pasos futuros deben seguir.

Archivo de constitución creado

Escribir la Especificación (qué y por qué) #write-the-spec-what-and-why

Copilot Chat
/speckit.specify
Construye una aplicación local, offline-first de Flashcards para sesiones de estudio rápidas.

Historias de Usuario:
1) Como aprendiz, puedo crear Mazos (nombre y descripción).
2) Puedo añadir, editar y eliminar Tarjetas (anverso/reverso).
3) Puedo estudiar un Mazo con un flujo de cuestionario (mostrar anverso → voltear → marcar Fácil/Difícil).
4) Repetición espaciada: promover/demover tarjetas por dificultad para reaparecer más tarde.
5) Búsqueda: filtrar mazos y tarjetas por texto.
6) Los datos se almacenan localmente; la aplicación funciona sin red.
7) Buena UX: atajos de teclado (J/K/Space), diseño responsivo, modo oscuro.

Criterios de Aceptación:
- CRUD persiste entre sesiones
- Cuestionario muestra progreso y precisión
- Responsivo para móvil + escritorio

Mantén el enfoque en qué/por qué. Guarda las decisiones técnicas para la siguiente fase.

Archivo de especificación creado

Crear el Plan Técnico (cómo) #create-the-technical-plan-how

Copilot Chat
/speckit.plan
Tecnología y Arquitectura:
- Next.js + React + TypeScript; Tailwind para UI
- Archivo SQLite con ORM Drizzle; abstracción de repositorio
- App Router; Server Actions para mutaciones
- Unit: Vitest; E2E: Playwright (flujos smoke)
- Utilidad de atajos de teclado; modo oscuro vía variables CSS
- Code-splitting en página de estudio; mantener bundle pequeño

Esto se convierte en el plano que seguirá Codex.

Archivo de plan creado

Dividirlo en Tareas #break-it-into-tasks

Copilot Chat
/speckit.tasks

Espera un tasks.md generado con pasos ordenados, rutas de archivos y stubs de pruebas. Pases de calidad opcionales:

  • /speckit.clarify — ajusta partes poco especificadas
  • /speckit.analyze — verifica cobertura especificación ↔ plan
  • /speckit.checklist — genera una lista de verificación QA (“unit tests for English”)

Implementar con Codex #implement-with-codex

Copilot Chat
/speckit.implement

Codex sigue tasks.md para esqueletar la aplicación, escribir código y conectar pruebas bajo tus aprobaciones.

Codex implementando tareas en VS Code

Ejecutar y probar #run-and-test

Terminal
pnpm i
pnpm dev
# abre http://localhost:3000

Una vez que hayas completado todas las tareas del plan: Prueba: crear Mazo → añadir Tarjetas → pulsa Estudiar → usa J/K/Space durante el cuestionario.

Añadir repetición espaciada #add-spaced-repetition

Pide a Codex que extienda la funcionalidad:

Copilot Chat
/speckit.tasks
Añadir planificador:
- Cada tarjeta tiene un bucket de dificultad (1..3)
- FÁCIL → +1 bucket (máx 3); DIFÍCIL → −1 (mín 1)
- La sesión extrae más de los buckets inferiores
- Persistir lastReviewed, nextDue

Luego ejecuta /speckit.implement de nuevo.

Estructura del Proyecto
flashcards-speckit/
  .specify/          # especificación, plan, tareas, artefactos de investigación
  .github/           # prompts/plantillas añadidos por SpecKit
  app/               # rutas y UI de Next.js
  db/                # esquema drizzle + seed
  tests/             # unit + e2e
  README.md

Solución de problemas #troubleshooting

  • Los comandos de barra inclinada no aparecen en el menú de Codex: asegúrate de que inicializaste con --ai codex, estás en la raíz del proyecto y la CLI/extensión de Codex está actualizada. Si solo aparece /speckit.constitution, actualiza herramientas y plantillas; algunas integraciones de agentes reciben correcciones con el tiempo.
  • Fallo en verificaciones del agente: añade --ignore-agent-tools a specify init para saltar las comprobaciones y obtener las plantillas de todos modos.
  • Windows: Codex es experimental en Windows—usa WSL para mejores resultados.

Próximas ideas #next-ideas

  • Importar/exportar mazos como JSON
  • Soporte de Markdown en las caras de las tarjetas
  • Tarjetas con imágenes
  • Rachas + vista de estadísticas
  • Mazo inteligente “Estudiar de nuevo” usando nextDue

Fuentes #sources

Categoría Desarrollo con IA
Compartir

Publicaciones Relacionadas

Recibe los últimos conocimientos sobre IA directamente en tu bandeja de entrada

Manténgase actualizado con las últimas tendencias, tutoriales e insights de la industria. Únase a la comunidad de desarrolladores que confían en nuestro boletín.

Solo cuentas nuevas. Al enviar tu correo electrónico aceptas nuestro Política de Privacidad