1. Introdução
Neste codelab, você vai aprender a planejar e criar aplicativos de software com a extensão Conductor da CLI do Gemini. Você vai começar criando um aplicativo "greenfield" do zero. Em seguida, vai tratá-lo como um projeto "brownfield", iterando nele para adicionar autenticação e armazenamento.
Atividades deste laboratório
- Instalar a CLI do Gemini e a extensão Conductor
- Criar um app da Web "Picker Wheel" do zero usando os recursos de planejamento e implementação do Conductor
- Adicionar personalização ao aplicativo, incluindo autenticação e armazenamento usando o Firebase
O que você vai aprender
- Como usar a extensão Conductor para planejar, implementar e revisar um aplicativo "greenfield"
- Como usar a extensão Conductor para adicionar recursos a um aplicativo "brownfield"
O que é necessário
- Um navegador da Web, como o Chrome
- Tenha um projeto na nuvem do Google Cloud com o faturamento ativado.
- Node.js instalado (versão 18 ou mais recente recomendada)
- Um editor de código local, como o Visual Studio Code
2. Antes de começar
Criar um projeto do Google Cloud
- No console do Google Cloud, na página de seletor de projetos, selecione ou crie um projeto do Google Cloud.
- Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.
Iniciar o Cloud Shell
O Cloud Shell é um ambiente de linha de comando em execução no Google Cloud que vem pré-carregado com as ferramentas necessárias.
- Clique em Ativar o Cloud Shell na parte de cima do console do Google Cloud.
- Depois de se conectar ao Cloud Shell, verifique sua autenticação:
gcloud auth list - Confirme se o projeto está configurado:
gcloud config get project - Se o projeto não estiver definido como esperado, defina-o:
export PROJECT_ID=<YOUR_PROJECT_ID> gcloud config set project $PROJECT_ID
Ativar APIs
Ative a API Firebase Management no seu projeto na nuvem do Google Cloud.
gcloud services enable firebase.googleapis.com
Adicione o Firebase ao seu projeto
A CLI do Firebase vem pré-instalada no Cloud Shell. No Cloud Shell, faça login com a mesma Conta do Google que dá acesso ao projeto na nuvem do Google Cloud. Se você estiver trabalhando localmente, instale a CLI do Firebase seguindo as instruções.
firebase login
Execute o seguinte comando para adicionar o Firebase ao seu projeto do Google Cloud:
firebase projects:addfirebase
Se esta for a primeira vez que você executa a CLI firebase, responda às perguntas que forem feitas.
Sair do Cloud Shell
Você pode fechar a janela do Cloud Shell. Na seção a seguir, vamos configurar seu ambiente local.
3. Instalar a CLI do Gemini e o Conductor localmente
Nesta etapa, você vai preparar seu ambiente de desenvolvimento local instalando a CLI do Gemini e a extensão Conductor usando o editor de código e o terminal locais.
Instalar a CLI do Gemini
- Instale a versão mais recente da CLI do Gemini globalmente usando o npm:
npm install -g @google/gemini-cli - Reinicie o terminal para que
geminiseja adicionado ao seu PATH. - Verifique se a instalação instalou a versão mais recente:
gemini --version - Crie e mude para um novo diretório de projeto: em uma seção posterior, vamos criar um projeto em um diretório
picker-wheel. Crie esse diretório agora e mude para ele:mkdir picker-wheel cd picker-wheel - Autenticar:
- Inicie a CLI do Gemini.
gemini - Quando perguntado "Você confia nos arquivos desta pasta?", selecione Confiar na pasta (picker-wheel).
- Quando perguntado "Como você quer se autenticar para este projeto?", selecione Vertex AI. Siga o guia de autenticação para receber uma chave de API do Google Cloud e definir a variável de ambiente
GOOGLE_API_KEY. Reserve um momento para conhecer os diferentes níveis de uso e os limites de taxa de API correspondentes.
- Inicie a CLI do Gemini.
- Sair da CLI do Gemini: digite
/quitno terminal da CLI para encerrar a sessão da CLI do Gemini antes de continuar.
Instalar a extensão Conductor
O Conductor é uma extensão de código aberto da CLI do Gemini criada pelo Google que permite recursos de desenvolvimento orientados por contexto, como planejamento e acompanhamento da implementação.
- Instalar a extensão:
gemini extensions install https://github.com/gemini-cli-extensions/conductor - Verifique a instalação:
- Inicie a CLI do Gemini.
gemini - Digite
/conductore você verá uma lista de comandos comosetup,newTrack,implementetc.
- Inicie a CLI do Gemini.
- Sair da CLI do Gemini: digite
/quitno terminal da CLI para encerrar a sessão da CLI do Gemini antes de continuar.
4. Desenvolvimento greenfield: a roda de seleção
Agora que seu ambiente está configurado, você vai criar um novo aplicativo do zero. Você vai criar uma "roda de seleção", um app da Web leve que gira para selecionar uma opção aleatória.
Configurar o contexto do produto
- Confirme se você está no
picker-wheeldiretório criado na seção anterior:pwd - Iniciar a CLI do Gemini: inicie uma nova sessão da CLI do Gemini no diretório do projeto.
gemini - Inicializar o Conductor: execute o comando de configuração para criar a estrutura do projeto e configurar o ambiente do Conductor.
/conductor:setup - Siga as instruções interativas: as instruções interativas que você vê não correspondem exatamente a estes exemplos. Concentre-se em um design mais simples para se familiarizar com o fluxo de trabalho do Conductor.
- Objetivo do produto: um aplicativo da Web que mostra uma roda giratória configurável para selecionar um item aleatório de uma lista.
- Público-alvo → público em geral
- Interação → toque/clique para girar
- Personalização → básica
- Plataforma → prioridade para computadores
- Diretrizes de produtos: geradas automaticamente.
- Stack de tecnologia:
- Linguagens → TypeScript/JavaScript: ideal para Web full-stack
- Front-end → Vue.js: interfaces da Web intuitivas
- Back-end → Express.js: back-end rápido do Node
- Banco de dados → nenhum: não é necessário
- Fluxo de trabalho: padrão.
- Requisitos do produto:
- Histórias de usuários → opções personalizáveis, exibição clara do vencedor
- Principais recursos → lista de opções editável, cores aleatórias
- Restrições → somente do lado do cliente, alto desempenho
- Não funcional → alta cobertura de testes, TypeScript e Vue.js, design responsivo
conductor/. - Objetivo do produto: um aplicativo da Web que mostra uma roda giratória configurável para selecionar um item aleatório de uma lista.
Criar uma nova faixa
Uma "faixa" no Conductor representa um recurso ou uma unidade de trabalho.
- Inicie uma nova faixa usando
/conductor:newTrack. O Conductor pode propor uma faixa inicial com base no contexto do produto. Como alternativa, você pode propor sua própria faixa ou pedir que o Conductor sugira uma. - Revise o plano gerado: o Conductor vai gerar um
index.md, umspec.mde umplan.mddentro deconductor/tracks/{track-id}/. Reserve um momento para lê-los. Se tudo estiver certo, o Conductor vai pedir que você salve e confirme os arquivos de configuração inicial.
Implementar a faixa
- Iniciar a implementação:
O Conductor vai trabalhar no plano, escrevendo o código do projeto./conductor:implement - Verificar o aplicativo: durante a fase de implementação, o Conductor vai pedir que você teste o aplicativo manualmente. Por exemplo, ele vai pedir que você abra o servidor da Web local, visualize o aplicativo no navegador e verifique as mudanças. Quando a implementação estiver concluída, você verá uma roda de seleção funcional.
- Revisar a implementação: como última etapa, você pode pedir que o Conductor revise a implementação. Ele precisa revisar o código-fonte, sincronizar a documentação do projeto e arquivar a faixa.
/conductor:review
5. Iteração brownfield: adicionar personalização
Agora você vai mudar para o desenvolvimento "brownfield". Você vai melhorar o aplicativo da Web da roda de seleção da seção anterior para que os usuários conectados possam salvar e restaurar as configurações da roda de seleção.
Criar uma faixa de personalização
- No exemplo "brownfield" a seguir, vamos usar o Firebase para autenticação e armazenamento. Instale a extensão do Firebase da CLI do Gemini para que o Conductor possa usá-la.
gemini extensions install https://github.com/gemini-cli-extensions/firebase - Iniciar a CLI do Gemini: inicie uma nova sessão da CLI do Gemini no diretório do projeto.
gemini - Iniciar uma nova faixa: inicie uma nova faixa.
/conductor:newTrack "I want users to be able to log in to their accounts and save their picker wheel configurations." - Siga as instruções interativas: as instruções interativas que você vê não correspondem exatamente a estes exemplos. Concentre-se em um design mais simples para se familiarizar com o fluxo de trabalho do Conductor.
- Meta do objetivo:
- Provedor de autenticação → Firebase Auth
- Configurações salvas → opções de roda
- Armazenamento de dados → Firestore
- Interface de login do Firestore → sobreposição modal
conductor/tracks/{track-id}. - Meta do objetivo:
- Revise o plano gerado: reserve um momento para ler um
index.md, umspec.mde umplan.mddentro deconductor/tracks/{track-id}/. - Implementar: se tudo estiver certo, você poderá iniciar a implementação.
/conductor:implement - Verificar: recarregue o aplicativo. Você verá um aplicativo atualizado.

Confira o código dourado para uma implementação de referência. Você precisa fornecer seu projeto do Firebase em .firebaserc e suas configurações do Firebase em firebase.ts para iniciar o aplicativo corretamente.
6. Limpar
Para evitar cobranças contínuas na sua conta do Google Cloud, exclua os recursos criados durante este codelab.
Excluir o projeto do Firebase (e o projeto do Google Cloud)
A maneira mais fácil de limpar é excluir o projeto inteiro.
- No console do Google Cloud, selecione o projeto criado.
- Clique em EXCLUIR.
Como alternativa, se você quiser manter o projeto, mas excluir recursos:
- Excluir o banco de dados do Firestore: acesse o console do Firebase > Firestore e exclua o banco de dados.
- Excluir a autenticação: acesse o console do Firebase > AutenticaçãoMétodo de login e desative o Google.
7. Parabéns
Parabéns! Você usou a extensão Conductor da CLI do Gemini para criar um aplicativo da Web do zero e, em seguida, iterar nele com recursos complexos, como autenticação e integração de banco de dados.
Próximas etapas
- Conhecer o modo de plano da CLI do Gemini para planejamento leve
- Descoberta avançada extensões da CLI do Gemini