Especificações
O separador Especificações contém especificações de desenvolvimento — descrições normalizadas e versionadas de um desenvolvimento a partir das quais tanto o agente como os humanos da equipa trabalham. Uma especificação é a fonte de verdade partilhada para uma peça de trabalho: o que está a ser construído, porquê e segundo que regras. As especificações são produzidas pela função Especificação no Chat — consulte Funções de programador.
Para que serve uma especificação#
Uma especificação transforma um requisito vago numa descrição normalizada e versionada que o agente pode implementar e um humano pode rever. Cada especificação é uma família com um spec_id estável que se mantém igual ao longo de todas as versões — de modo que, à medida que a especificação evolui, o seu histórico é um fio contínuo, e as ligações para ela nunca quebram. Quando entrega uma especificação ao agente para implementar (incluindo em Modo autónomo), ele trabalha a partir dessa definição estável e versionada, em vez de uma mensagem de chat pontual.
A lista de especificações#
O lado esquerdo lista as suas famílias de especificações. Cada entrada mostra:
- O título da especificação.
- Um distintivo de estado.
- v{version} — a versão atual.
- {n} versions — quantas versões existem.
Quando um projeto ainda não tem especificações, a lista mostra:
No specifications yet — use the Specification role in Chat to create one.
Escolha uma família à esquerda para a abrir.
A vista da família#
Abrir uma família mostra três subseparadores:
| Subseparador | O que mostra | Quando está disponível |
|---|---|---|
| Atual | A versão atual, renderizada a partir de Markdown | Sempre |
| Versões (N) | Todas as versões, com resumos de alterações por versão | Sempre |
| Comparar | Uma diferença lado a lado entre duas versões | Apenas com 2 ou mais versões (desativado caso contrário) |
Atual#
O subseparador Atual renderiza a versão mais recente da especificação como Markdown formatado. Os administradores dispõem de controlos para gerir a especificação:
| Controlo | O que faz |
|---|---|
| Editar | Abrir a versão atual para edição. |
| Guardar | Guardar as suas alterações. |
| Cancelar | Descartar as suas alterações e sair do modo de edição. |
| Renomear família | Alterar o título da especificação. O spec_id mantém-se igual. |
| Eliminar | Eliminar a família inteira e todas as suas versões. |
Eliminar remove toda a família da especificação — todas as versões, não apenas a atual. Não há eliminação por versão; é tudo ou nada.
Versões (N)#
O subseparador Versões mostra o histórico completo:
- Uma calha de versões que lista cada versão por etiqueta. Uma versão que tenha um resumo de alterações é assinalada com um ponto.
- Uma caixa "Changes in v{v}" que descreve o que mudou na versão selecionada.
- O conteúdo da versão selecionada.
Use isto para ler qualquer versão anterior exatamente como era, e para ver a narrativa de como a especificação evoluiu.
Comparar#
O subseparador Comparar mostra uma diferença entre quaisquer duas versões. Precisa de pelo menos duas versões para estar disponível.
| Controlo | O que faz |
|---|---|
| From | Selecionar a versão base a partir da qual comparar. |
| To | Selecionar a versão com a qual comparar. |
| Vista de diferenças | Mostra adições e remoções com uma margem + / −. |
| Caixa "What changed" | Um resumo das diferenças entre as duas versões selecionadas. |
Como as especificações são criadas#
Não escreve as especificações de raiz aqui — gera-as com a função Especificação no Chat. Descreva o requisito ao agente nessa função e ele produz uma especificação normalizada, que passa então a aparecer como uma família neste separador. Os administradores podem refiná-la depois com Editar / Guardar, e cada alteração significativa torna-se uma nova versão com o seu próprio resumo de alterações.
Para onde ir a seguir#
- Funções de programador — incluindo a função Especificação que produz especificações.
- Chat — onde escolhe uma função e cria uma especificação.
- Modo autónomo — entregue uma especificação ao agente e deixe-o trabalhar sem supervisão.
- Metodologia — as regras e o conhecimento que o agente aplica ao implementar uma especificação.