Blog Recursos Sobre Pesquisar Tópicos
Desenvolvimento com IA

Crie um App de Flashcards com GitHub SpecKit + VS Code Codex (Tutorial Guiado por Especificação)

Atualizado em 15 de outubro de 2025

Categoria: Desenvolvimento com IA
Compartilhar

Tutorial SpecKit + Codex construindo um app de Flashcards

Neste post, vamos construir um app local de Flashcards usando GitHub SpecKit + a extensão Codex do VS Code. Seguiremos o fluxo de Desenvolvimento Guiado por Especificação do início ao fim: Especificar → Planejar → Tarefas → Implementar.

Por que SpecKit para este projeto? #why-speckit-for-this-project

O tradicional “vibe-coding” deixa os resultados imprecisos. O SpecKit inverte o jogo: você escreve uma especificação clara, cria um plano técnico, divide em tarefas e deixa seu agente de codificação implementar pequenos trechos testáveis com você no controle.

Pré-requisitos #prerequisites

  • VS Code com a extensão Codex (faça login com sua conta ChatGPT).
  • Git, Python 3.11+ e uv (gerenciador de pacotes/launcher).
  • macOS, Linux ou Windows (WSL recomendado para melhor experiência Codex no Windows).

Saída do terminal mostrando inicialização bem-sucedida do SpecKit com integração Codex

Repositório público: https://github.com/nicklaunches/flashcards-speckit

Instalar o Specify CLI #install-specify-cli

Instalação persistente (recomendado):

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

Inicializar o projeto conectado ao Codex #init-project-wired-to-codex

Crie uma pasta e inicialize o SpecKit para Codex:

Terminal
mkdir flashcards-speckit && cd flashcards-speckit
specify init . --ai copilot
# Usuários do Windows podem adicionar: --script ps

Abra a pasta no VS Code e confirme que o painel Copilot está conectado.

Painel Copilot do VS Code mostrando login bem-sucedido

Definir limites: Constituição #set-guardrails-constitution

No chat do Copilot, execute:

Copilot Chat
/speckit.constitution
Crie princípios focados em:
- fatias verticais; 90% das tarefas < 30 minutos
- React + Next.js + TypeScript; SQLite via Drizzle
- testes unitários para lógica central; smoke com Playwright
- acessibilidade (WCAG AA); orçamento de perf: First Load JS < 160KB
- offline-first (sem serviços externos, tudo local)

Isso cria/atualiza um arquivo de constituição que as próximas etapas devem seguir.

Arquivo de constituição criado

Escrever a Especificação (o que e por quê) #write-the-spec-what-and-why

Copilot Chat
/speckit.specify
Construa um app local e offline-first de Flashcards para sessões rápidas de estudo.

Histórias de Usuário:
1) Como aluno, posso criar Baralhos (nome e descrição).
2) Posso adicionar, editar e excluir Cartas (frente/verso).
3) Posso estudar um Baralhos com fluxo de quiz (mostrar frente → virar → marcar Fácil/Difícil).
4) Repetição espaçada: promover/descartar cartas por dificuldade para reaparecerem depois.
5) Busca: filtrar baralhos e cartas por texto.
6) Dados armazenados localmente; app roda sem rede.
7) Boa UX: atalhos de teclado (J/K/Espaço), layout responsivo, modo escuro.

Critérios de Aceitação:
- CRUD persiste entre sessões
- Quiz mostra progresso e precisão
- Responsivo para mobile + desktop

Mantenha o foco no o que/por quê. Salve as escolhas técnicas para a próxima fase.

Arquivo de especificação criado

Criar o Plano Técnico (como) #create-the-technical-plan-how

Copilot Chat
/speckit.plan
Tecnologia e Arquitetura:
- Next.js + React + TypeScript; Tailwind para UI
- Arquivo SQLite com ORM Drizzle; abstração de repositório
- App Router; Server Actions para mutações
- Unit: Vitest; E2E: Playwright (fluxos de smoke)
- Utilitário de atalhos de teclado; dark mode via variáveis CSS
- Code-split da página de estudo; manter bundle pequeno

Isso se torna o plano que o Codex seguirá.

Arquivo de plano criado

Dividir em Tarefas #break-it-into-tasks

Copilot Chat
/speckit.tasks

Aguarde a geração de um tasks.md com passos ordenados, caminhos de arquivos e esboços de testes. Passos de qualidade opcionais:

  • /speckit.clarify — ajusta partes pouco especificadas
  • /speckit.analyze — verifica cobertura espécie ↔ plano
  • /speckit.checklist — gera checklist de QA (ex: “testes unitários em inglês”)

Implementar com Codex #implement-with-codex

Copilot Chat
/speckit.implement

O Codex segue o tasks.md para esqueletar o app, escrever código e conectar testes sob suas aprovações.

Codex implementando tarefas no VS Code

Executar e testar #run-and-test

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

Assim que concluir todas as tarefas do plano: Tente: criar Baralho → adicionar Cartas → clique em Estudar → use J/K/Espaço durante o quiz.

Adicionar repetição espaçada #add-spaced-repetition

Peça ao Codex para estender a funcionalidade:

Copilot Chat
/speckit.tasks
Adicionar agendador:
- Cada carta tem faixa de dificuldade (1..3)
- FÁCIL → +1 faixa (máx 3); DIFÍCIL → −1 (mín 1)
- Sessão puxa mais das faixas inferiores
- Persistir lastReviewed, nextDue

Então execute /speckit.implement novamente.

Estrutura do Projeto
flashcards-speckit/
  .specify/          # especificação, plano, tarefas, artefatos de pesquisa
  .github/           # prompts/templates adicionados pelo SpecKit
  app/               # rotas e UI do Next.js
  db/                # schema drizzle + seed
  tests/             # unit + e2e
  README.md

Solução de problemas #troubleshooting

  • Comandos de barra não aparecem no menu Codex: certifique-se de que inicializou com --ai codex, está na raiz do projeto e a extensão/Codex CLI está atualizada. Se apenas /speckit.constitution aparecer, atualize ferramentas e templates; algumas integrações de agentes recebem correções com o tempo.
  • Verificações do agente falhando: adicione --ignore-agent-tools ao specify init para ignorar verificações e buscar templates mesmo assim.
  • Windows: o Codex é experimental no Windows—use WSL para melhores resultados.

Próximas ideias #next-ideas

  • Importar/exportar baralhos como JSON
  • Suporte a Markdown nas faces das cartas
  • Cartas com imagens
  • Sequências + visão de insights
  • “Estudar novamente” baralho inteligente usando nextDue

Fontes #sources

Categoria Desenvolvimento com IA
Compartilhar

Publicações Relacionadas

Receba os últimos insights de IA entregues na sua caixa de entrada

Mantenha-se atualizado com as últimas tendências, tutoriais e insights da indústria. Junte-se à comunidade de desenvolvedores que confiam em nosso boletim.

Apenas contas novas. Ao enviar seu email, você concorda com nossa Política de Privacidade