O painel do projeto
Funcionalidades
Funcionalidades mostra o que está sendo construído: cada funcionalidade com o checklist de tarefas, o critério de pronto, as decisões e as etapas. É o quadro de trabalho do projeto.
De onde vêm
Você raramente precisa registrar à mão. As funcionalidades chegam por quatro caminhos:
- O agente registra sozinho. Quando ele começa algo de vários passos, cria a funcionalidade, com o critério de pronto, e uma tarefa por passo, e marca cada uma ao concluir. Se o pedido for vago, ele faz antes 2 ou 3 perguntas rápidas; se for claro, começa direto.
- Planos aprovados. Quando você aprova um plano no modo de planejamento do agente, ele vira uma funcionalidade com checklist.
- Você pede. Com
/faundr:planningou/faundr:feature, que começam pelo planejamento (veja abaixo). - O que já existia. Num projeto que já tinha código antes do Faundr,
/faundr:inventorylista o que o app já faz e, com o seu OK, registra cada coisa como concluída (veja abaixo).
Como o Faundr percebe que é uma funcionalidade
- No seu pedido. Antes de o agente ler cada pedido, o Faundr confere, no seu computador e sem IA, se ele parece trabalho novo ("cria uma aba de relatórios", "vamos para a fase 2", "quero melhorar o login"). Se parece, lembra o agente de registrar a funcionalidade e as etapas antes de começar. Perguntas, commits e consertos pontuais não recebem o lembrete.
- No fim da resposta. Se a conversa mudou 4 arquivos ou mais e nada foi registrado, o Faundr pede ao agente para registrar o que foi feito (uma vez por conversa). Ajuste pequeno não precisa.
Projeto que já existia
Ao ligar um projeto que já tem código e nenhuma funcionalidade, o agente oferece, uma vez, fazer o inventário. Se você aceitar, ou rodar /faundr:inventory, ele:
- usa o mapa do código (sem ler o projeto inteiro) para listar de 5 a 15 coisas que o app já faz, em palavras de quem usa;
- mostra a lista e pergunta o que registrar;
- registra as aprovadas como concluídas, com a nota "Já existia antes do Faundr", e o que está pela metade como em andamento, com o que falta.
Assim o quadro mostra o projeto inteiro, e não só o que foi feito depois do Faundr.
Abas
| Aba | O que mostra |
|---|---|
| Em andamento | As funcionalidades com trabalho em curso. |
| Próximas etapas | Etapas planejadas, ainda não começadas, na ordem do plano. Levam a etiqueta Planejada. |
| Concluídas | As que terminaram. |
| Todas | Tudo junto. |
Cada linha mostra o título, o próximo passo ("Agora: …", "Planejada · vem depois de…", "Concluída · próxima etapa: …") com o nome do dono no fim, a barra de progresso (um segmento por tarefa, branco quando concluída) e quando foi mexida pela última vez.
As tarefas que não pertencem a nenhuma funcionalidade aparecem juntas no item Tarefas sem funcionalidade. A busca no topo procura no nome das funcionalidades e das tarefas.
Duas etiquetas ajudam o quadro a não ficar velho:
- Parada: a funcionalidade está em andamento, mas ninguém mexe nela há mais de 14 dias. Passe o mouse na etiqueta para ver a dica. O
/faundr:resumetambém avisa das paradas. - Descartada: alguém decidiu que ela não vai mais ser feita. Ela sai das abas e continua só em Todas, com as tarefas dela.
A página de uma funcionalidade
Clique numa funcionalidade para abrir a página dela:
- Dono: quem criou ou começou a funcionalidade (veja "Dono da funcionalidade" abaixo).
- Como vai funcionar: o diagrama da funcionalidade, quando você pediu (veja abaixo).
- Tarefas: o checklist. Clique no ícone de uma tarefa para trocar o estado (a fazer → em andamento → concluída), ou adicione uma tarefa pelo campo no fim. A etiqueta agora marca a tarefa em andamento. Sem commit marca a tarefa concluída enquanto havia mudanças fora do git; a marca some no próximo commit.
- Pronto quando: o critério de pronto, item por item, com Atendido, Não atendido ou Ainda não conferido.
- Etapas: a etapa anterior ("Vem depois de") e a próxima. As duas são clicáveis.
- Decisões: as decisões técnicas tomadas durante esta funcionalidade.
- Descartar: tira a funcionalidade das abas (ela continua em Todas). Numa descartada, o botão vira Restaurar, que traz ela de volta. Só quem edita o projeto vê o botão.
Arrumar o quadro
Com o tempo, o quadro junta funcionalidades que já ficaram prontas sem ninguém marcar e etapas que não vão mais ser feitas. Para arrumar, rode /faundr:tidy-board (ou diga "o quadro está velho"). O agente:
- confere cada funcionalidade em andamento e cada próxima etapa com os commits e o código, começando pelas paradas e pelas mais antigas;
- separa em Pronta (com a prova: o commit ou o arquivo), Descartar (o plano mudou, ficou velha ou repete outra), Manter (com o que ainda falta) e Não sei (sem prova, ele pergunta em vez de chutar);
- mostra a proposta e pergunta se pode aplicar;
- aplica só o que você aprovar: marca como concluídas as tarefas já feitas e descarta o que você escolheu.
Uma funcionalidade só vai para Concluídas com todas as tarefas feitas. Descartar dá para desfazer pelo botão Restaurar.
Dono da funcionalidade
Toda funcionalidade tem um dono, para duas pessoas não mexerem na mesma coisa sem saber:
- Quem cria ou começa vira o dono. As funcionalidades antigas, sem dono, passam a ser de quem mexer nelas primeiro (registrar uma tarefa, marcar uma como feita, conferir o critério).
- As tarefas seguem o dono da funcionalidade. Uma tarefa passada para outra pessoa (
faundr claim) fica com ela e aparece "com Fulano" abaixo do título. - O agente de outra pessoa avisa antes de mexer. Se ele for registrar ou marcar tarefas numa funcionalidade que não é de quem está usando, para, diz de quem é e só segue se a pessoa confirmar. Ninguém fica travado: é só um aviso.
- Trocar ou soltar: na página da funcionalidade, o dono e o admin da organização escolhem outro dono ou "Sem dono". Os outros só veem o nome. No terminal:
faundr ownassume a funcionalidade atual efaundr disowna deixa sem dono.
Planejar antes de construir
Quando você pede algo novo, o agente não sai programando. Ele planeja com você (/faundr:planning, também usado sozinho quando o pedido é trabalho novo e dentro do /faundr:feature):
- Mede o tamanho do pedido e diz em uma linha: tarefa rápida (não pergunta nada), funcionalidade ou várias etapas. Sempre dá para dizer "só começa".
- Olha o projeto antes de perguntar. O que o código, o mapa e as decisões do time já respondem, ele descobre sozinho. Você só responde o que é decisão sua.
- Faz poucas perguntas, do assunto do pedido: de 2 a 4 por rodada, no máximo 3 rodadas, cada uma com opções e uma recomendação. Num pedido de pagamento, por exemplo, pergunta "Pix ou cartão?", e não "para quem é?" de novo. Resposta vaga ("rápido", "simples") ganha uma pergunta de volta com números ou exemplos.
- Pergunta o que faria dar errado: "se fosse só metade, o que fica?" e "o que faria você dizer que deu errado, mesmo funcionando?".
- Mostra um resumo curto para você aprovar: o que entra, o que fica para depois, o "pronto quando" e a lista do que ele decidiu sozinho (o que é técnico ou não muda o que você vê). Nada é construído antes do seu OK.
Com o OK, tudo vai para o painel: a funcionalidade, as tarefas, as próximas etapas, as suas escolhas como decisões e o "pronto quando" como critério de pronto. Nenhum arquivo de plano é criado no projeto.
Como vai funcionar (diagrama)
Quando a funcionalidade tem um fluxo com várias partes (tela, servidor, banco, um serviço de fora) ou um caminho de erro que importa, o agente oferece desenhar como ela vai funcionar. É opcional porque gasta mais tokens que o normal. Dá para pedir a qualquer momento: "desenhe como essa funcionalidade vai funcionar".
Assim que o agente desenha, o canvas abre sozinho no seu navegador e o agente fica esperando a sua resposta.
- Aprovar e construir: é o seu OK. O agente segue na hora, sem perguntar de novo.
- Pedir mudanças: escreva o que está errado e o que quer diferente (opcional). O agente recebe na hora, redesenha e o canvas abre de novo.
- Se você não responder em uns 9 minutos, o agente espera mais uma vez e depois pergunta no terminal.
- Só quem edita o projeto (Dono, Admin ou Membro) aprova ou pede mudanças; quem é Leitura vê o estado.
Depois, o desenho fica na página da funcionalidade, em Como vai funcionar, com o estado (esperando, aprovado ou mudanças pedidas) e o botão Abrir canvas. No canvas dá para dar zoom e arrastar, e clicar numa peça abre a explicação dela. O desenho:
- Raias (as faixas da esquerda) dizem quem faz: a pessoa, a tela, o servidor, o banco, um serviço de fora.
- A forma da peça diz o tipo: pílula para a pessoa e para o resultado (o resultado vem em branco), pontas cortadas para uma pergunta de sim ou não, borda tracejada para um serviço de fora, borda dupla para o que a pessoa vê quando dá errado.
- A linha diz o caminho: grossa é o caminho principal, tracejada é quando dá errado e pontilhada é voltar e tentar de novo.
Cada vez que o agente desenha de novo, a versão sobe e o painel atualiza na hora. Quando o checklist termina, o Faundr pede ao agente para conferir cada item do critério e marcar se foi atendido, com uma nota de como conferiu. Assim, "pronto" quer dizer o que vocês combinaram.
Trabalho em etapas
Para trabalhos grandes, o agente registra as etapas seguintes desde o começo, por exemplo "Login com e-mail" → "Login com Google (fase 2)" → "Recuperar senha (fase 3)". Cada etapa:
- fica em Próximas etapas enquanto nada começou nela;
- é lembrada pelo Faundr no início da sessão, quando o checklist atual termina, no bilhete de passagem e no
/faundr:resume; - vira a funcionalidade atual quando o trabalho nela começa.
Funcionalidade atual
Cada pasta ligada tem uma funcionalidade atual: é nela que entram as tarefas novas, é ela que o agente recebe no início de cada sessão e é ela que aparece na barra de status. Ela muda quando uma funcionalidade nova é criada, ou com faundr focus "<nome>".
Comandos
Funcionalidades e tarefas vêm do terminal: você (ou a IA, sozinha) registra enquanto trabalha. Use estes comandos no seu agente de IA, na pasta ligada ao projeto.
A IA registra funcionalidades, tarefas e decisões sozinha quando começa algo de vários passos (o Faundr avisa quando o seu pedido parece trabalho novo, e cobra no fim se nada foi registrado); planos aprovados também viram funcionalidade.
/faundr:planning [o que quer construir]Planeja com você antes de construir: mede o tamanho do pedido, olha o projeto antes de perguntar, faz poucas perguntas com opções e uma recomendação, fecha um "pronto quando" que dá para conferir e mostra um resumo curto (com o que a IA decidiu sozinha) para você aprovar. Com o OK, grava tudo em Funcionalidades. A IA também usa sozinha quando o pedido é trabalho novo.
ex.: /faundr:planning cupom de desconto no carrinho
/faundr:feature <título> [— descrição]Cria uma funcionalidade (com checklist) e a torna a atual desta pasta. Antes, planeja com você do mesmo jeito que o /faundr:planning e guarda as escolhas como decisões; o critério de pronto fica na funcionalidade e é conferido no fim.
ex.: /faundr:feature Tela de login — entrar com e-mail e senha
!faundr feature "<etapa>" --after atualRegistra a próxima etapa de uma funcionalidade feita em fases (fica planejada, em Próximas etapas). O Faundr lembra dela no início da conversa, quando o checklist atual termina, no bilhete e no /faundr:resume. Tarefas dela: faundr task "<passo>" --feature "<etapa>".
ex.: !faundr feature "Login com Google (fase 2)" --after atual
/faundr:inventoryNum projeto que já tinha código antes do Faundr: lista o que o app já faz, a partir do mapa do código, e registra como funcionalidades concluídas, com o seu OK.
/faundr:tidy-boardArruma o quadro: a IA confere cada funcionalidade em andamento e cada próxima etapa com os commits e o código, e propõe marcar como feitas as tarefas já feitas (com a prova), descartar o que não vai mais ser feito e manter o resto. Só muda o que você aprovar. Use quando aparecer a etiqueta Parada (14 dias sem mexida).
!faundr feature-discard "<nome>"Descarta uma funcionalidade ou etapa: ela sai das abas e do contexto da IA, mas continua em Todas. Para voltar: faundr feature-restore "<nome>" ou o botão Restaurar na página dela.
ex.: !faundr feature-discard "Navegador rápido: publicar o plugin 0.60.0"
!faundr feature-restore "<id ou nome>"Traz de volta uma funcionalidade descartada (o mesmo que o botão Restaurar).
ex.: !faundr feature-restore "Login com Google"
!faundr focus "<nome>"Troca a funcionalidade atual e mostra o checklist dela.
ex.: !faundr focus "Tela de login"
!faundr start "<trecho ou nº>"Marca uma tarefa como em andamento.
ex.: !faundr start "formulário"
/faundr:parallel [etapas, separadas por ;]Faz várias etapas planejadas ao mesmo tempo: abre uma mesa (uma cópia separada do projeto) para cada etapa que já pode começar, manda um ajudante fazer cada uma e depois junta uma de cada vez com os testes. Mostra o plano e espera o seu OK antes.
ex.: /faundr:parallel Login com Google; Recuperar senha
/faundr:merge [o que foi feito na mesa]Junta o trabalho de uma mesa ao projeto principal, com o seu OK: pega a versão mais nova, junta, roda os testes, explica os conflitos em português e manda para o ar.
!faundr parallel [open "<a>; <b>" | close <nome> | --all]Sem nada, lista as etapas que já podem começar em paralelo. open abre uma mesa para cada etapa; close fecha (a branch só some se já foi juntada).
/faundr:task <descrição>Adiciona uma tarefa ao checklist da funcionalidade atual.
ex.: /faundr:task Criar o formulário de login
/faundr:done <trecho do nome ou nº>Marca uma tarefa como concluída.
ex.: /faundr:done formulário
/faundr:boardMostra no terminal as funcionalidades e o checklist de cada uma.
/faundr:decision <decisão> [porque …]Registra uma decisão técnica ligada à funcionalidade atual (aparece na página dela e em Memória → Decisões).
ex.: /faundr:decision Login pelo Supabase porque já usamos o banco dele