Interface do Visual Studio Code com GitHub Copilot Chat aberto, mostrando um prompt de código e a assistência da IA na construção de um aplicativo.

GitHub Copilot: IA, TDD e Agente Plan no Desenvolvimento

Por Miguel Viana • 4 min de leitura

No universo dinâmico da programação, a Inteligência Artificial (IA) tem se consolidado como uma aliada poderosa, otimizando fluxos de trabalho e impulsionando a produtividade. Um exemplo notável é a experiência de construção de um aplicativo de contagem regressiva com o GitHub Copilot, que revelou padrões práticos para trabalhar com IA em projetos de desenvolvimento. Explorar esses padrões é fundamental para qualquer desenvolvedor que busca maximizar o potencial das ferramentas de IA.

Desde a gestão de janelas de contexto para manter conversas focadas, passando pelo uso do Agente Plan para descoberta de requisitos, até a implementação de Test-Driven Development (TDD) com o Copilot para capturar casos de borda, a jornada de desenvolvimento com IA é repleta de aprendizados. E, claro, alguns desafios inesperados, como a complexidade de renderizar mapas-múndi!

Confira o stream completo abaixo para ver a ação em tempo real. 👇

Começando Simples: O Aplicativo de Contagem Regressiva

Embora cronômetros de contagem regressiva pareçam conceitos diretos — dias viram horas, minutos em segundos —, são muitas vezes essas ideias simples que nos permitem ser mais criativos. A proposta era usar o Copilot de uma forma orientada a especificações ou requisitos para criar um aplicativo de contagem regressiva que gerasse antecipação e exibisse fogos de artifício na virada do ano. Esse tipo de abordagem reflete como a IA está democratizando a criação de softwares, conforme explicamos em nosso artigo sobre 3 Ferramentas: Crie seu Site Com IA.

💡O Que É Desenvolvimento Orientado a Especificações?

Em vez de codificar primeiro e documentar depois, o desenvolvimento orientado a especificações (spec-driven development), como o nome sugere, começa com uma especificação. Este documento funciona como um contrato sobre como seu código deve se comportar, tornando-se a fonte de verdade para suas ferramentas e agentes de IA gerarem, testarem e validarem o código. O resultado são menos suposições, menos surpresas e um código de maior qualidade.

O desenvolvimento de software é um processo iterativo, e este projeto abraçou essa característica plenamente. Embora alguns requisitos estivessem bem definidos, outros evoluíram em tempo real, moldados por sugestões da audiência. Agentes personalizados, como o Agente Plan, foram cruciais para preencher lacunas, transformando ideias ambíguas em planos estruturados e acionáveis. Isso mostra o potencial da IA em auxiliar na organização do trabalho, um tema que permeia diversas aplicações, como a segurança de software potencializada por IA, abordada em Segurança Potencializada por IA: GitHub Lança Framework Open Source.

Configurando o Projeto com GitHub Copilot

O primeiro passo foi gerar um novo espaço de trabalho com o GitHub Copilot, utilizando um prompt bastante específico. O prompt detalhava que o objetivo era construir um aplicativo de contagem regressiva para o Ano Novo e que seriam usadas as tecnologias Vite, TypeScript e Tailwind CSS v4. As exigências iniciais incluíam um tema escuro por padrão, layout centralizado, dígitos grandes e em negrito com uma animação sutil, e o alvo padrão para a meia-noite de 1º de janeiro do PRÓXIMO ano, com espaço para personalizações futuras.

#new 

1. Crie um novo workspace para um aplicativo de contagem regressiva de Ano Novo usando Vite, TypeScript e Tailwind CSS v4.

**Requisitos de Configuração:**
- Use o plugin @tailwindcss/vite (estilo Tailwind v4)
- Tema escuro por padrão (fundo zinc-900)
- Layout centralizado com a contagem regressiva como elemento principal

**Funcionalidade de Contagem Regressiva:**
Crie um módulo `countdown.ts` com:
- Um tipo `CountdownTarget` que tenha `{ name: string, date: Date }` para que possamos personalizar futuramente para o que estamos contando
- Uma função `getTimeRemaining(target: Date)` retornando `{ days, hours, minutes, seconds, total }`
- Uma função auxiliar `formatTimeUnit(n: number)` que adiciona zero à esquerda para 2 dígitos
- Alvo padrão: meia-noite de 1º de janeiro do PRÓXIMO ano (calcular dinamicamente a partir da data atual)

**Exibição:..."

Tags: Inteligência Artificial Programação GitHub Copilot Desenvolvimento de Software Automação

Perguntas Frequentes

O que são janelas de contexto (context windows) na IA?

As janelas de contexto referem-se à quantidade de informação que um modelo de IA pode "lembrar" e processar em uma única interação. Gerenciá-las ajuda a manter a conversa focada e relevante.

Como o Agente Plan do Copilot auxilia no desenvolvimento?

O Agente Plan do GitHub Copilot ajuda a transformar ideias ambíguas e requisitos vagos em planos estruturados e acionáveis, facilitando a organização e execução de projetos de desenvolvimento.

O que é desenvolvimento orientado a especificações (spec-driven development)?

É uma abordagem onde o desenvolvimento começa com uma especificação detalhada que serve como contrato para o comportamento do código. Essa especificação é usada por ferramentas e IAs para gerar, testar e validar o código, resultando em maior qualidade.

Quais tecnologias foram utilizadas no exemplo do aplicativo de contagem regressiva?

O aplicativo foi desenvolvido utilizando Vite, TypeScript e Tailwind CSS v4, com o GitHub Copilot auxiliando na geração e estruturação do código.

Onde posso encontrar mais sobre o uso de IA na criação de sites e aplicativos?

Você pode encontrar mais informações sobre como a IA está democratizando a criação de sites e aplicativos em nosso artigo '3 Ferramentas: Crie seu Site Com IA' no portal Vibe Coding Brasil.