Esta é uma série de 10 partes que compartilha como a Apidog desenvolveu o Apidog CLI, uma ferramenta de linha de comando para testes e gerenciamento do ciclo de vida de APIs. Leia em ordem ou pule para qualquer post que lhe interesse:
| Título | Foco | |
|---|---|---|
| 1 | Construímos 126 Ferramentas MCP. Mas Não É a Melhor Solução para Agentes | Descoberta do problema |
| 2 | Por Que Desenvolvemos o Novo Apidog CLI | Desenvolvimento da arquitetura |
| 3 | A Regra de Ouro: CLI Produz Fatos, o Modelo Atua sobre Fatos | Filosofia central |
| 4 | agentHints: Ensinando CLIs a Falar com Agentes |
Saída estruturada |
| 5 | SKILL: Enviando Experiência Operacional como Código | Experiência operacional |
| 6 | Os Números Não Mentem: 30% Menos Chamadas de Ferramentas, 25% Menos Tokens | Resultados quantitativos |
| 7 | Do PRD ao Loop de Teste: Um Fluxo de Trabalho Completo de Agente com Apidog CLI | Tutorial prático |
| 8 | Por Que a Compatibilidade CI/CD É Inegociável para Ferramentas de Agente | Perspectiva DevOps |
| 9 | Branch de IA: Mudanças de Projeto Mais Seguras com Agentes de IA | Camada de segurança |
| 10 | Spec-First Foi Ontem. Bem-vindo ao Skill-First. | Visão & futuro |
Quando um Agente modifica recursos do projeto, segurança e revisibilidade importam. O AI Branch oferece um ambiente de edição isolado – as alterações entram no branch de destino apenas após confirmação humana.
O Desafio de Segurança
Quando Agentes de IA participam do desenvolvimento e teste de APIs, eles podem criar, atualizar e excluir recursos do projeto por meio de comandos CLI.
Este poder vem com risco.
| Risco | O Que Pode Acontecer |
|---|---|
| Saídas imprevisíveis | O Agente escreve conteúdo inesperado |
| Erros de campo | Asserções erradas, parâmetros ausentes |
| Desvio de escopo | O Agente modifica recursos além da tarefa |
| Sem trilha de revisão | As alterações aparecem diretamente no branch principal |
| Interrupção da equipe | Branch de colaboração compartilhada alterado subitamente |
Como permitir que Agentes trabalhem em projetos reais sem arriscar o branch principal?
AI Branch: A Camada de Segurança
O AI Branch é um tipo especial de Branch de Sprint projetado especificamente para operações externas de IA e CLI.

Conceito chave:
Todas as operações de edição iniciadas do Apidog CLI são tratadas como iniciadas por IA / Agentes de IA por padrão.
O AI Branch oferece aos Agentes de IA um branch de edição isolado. As alterações permanecem no AI Branch até que um humano as revise e mescle.
Agente faz alterações via CLI
↓
Alterações armazenadas no AI Branch (isolado)
↓
Usuário revisa diferenças
↓
Usuário confirma escopo do recurso
↓
Mesclar para o branch de destino (direto ou solicitação de mesclagem)O branch principal permanece intocado até sua aprovação.
Por Que o AI Branch É Necessário
Edições iniciadas por IA podem ser imprevisíveis. O Apidog CLI oferece uma ampla gama de recursos de edição — endpoints, esquemas, cenários de teste, suítes de teste e muito mais.
O AI Branch foi projetado para essas operações de edição de alto risco iniciadas por IA.
Ele permite que os Agentes de IA editem recursos do projeto dentro de um escopo controlado:
| Sem AI Branch | Com AI Branch |
|---|---|
| Agente escreve diretamente para o principal | Agente escreve para branch isolado |
| Alterações aparecem imediatamente | Alterações aguardam revisão |
| Sem rede de segurança | Confirmação humana necessária |
| Risco de modificações não intencionais | Escopo limitado a recursos específicos |
O Que É AI Branch?
AI Branch é um branch de sprint especial com características específicas:
Características Principais
| Característica | Descrição |
|---|---|
| Edição isolada | Alterações armazenadas no AI Branch, não afetam o branch principal ou de origem |
| Fonte clara | Não pode ser criado no cliente — deve vir do CLI/MCP; registra o branch de origem |
| Confirmação humana | As alterações devem ser confirmadas antes da mesclagem |
| Sem limite de quantidade | Crie quantos AI Branches forem necessários para diferentes tarefas |
| Arquivamento automático | Branches sem diferenças são arquivados a cada 24 horas |
Como Funciona
| Operação | Onde Acontece |
|---|---|
| IA cria endpoint | No AI Branch |
| IA atualiza cenário de teste | No AI Branch |
| Equipe revisa alterações | No cliente ou visualização CLI |
| Usuário aprova mesclagem | Ação do usuário, não da IA |
| Alterações entram no branch de destino | Após confirmação |
A edição normal no cliente por usuários ainda segue as permissões de membros do projeto e as regras de proteção de branch.
Casos de Uso
O AI Branch é adequado quando a IA precisa participar da manutenção do projeto, preservando o isolamento do branch e a confirmação humana.
| Cenário | Como o AI Branch Ajuda |
|---|---|
| Gerar rascunhos de API a partir do código | IA cria endpoints no AI Branch; usuários confirmam antes de mesclar |
| Organizar recursos de API em massa | IA ajusta pastas, descrições, modelos sem afetar o branch de colaboração |
| Gerar rascunhos de teste automatizados | IA cria cenários/casos de teste no AI Branch para revisão do testador |
| Preencher lacunas na documentação da API | IA complementa campos ausentes com base em relatórios de bugs ou implementação |
| Escrita em lote em CI/CD | Workflows automatizados escrevem para o AI Branch, aguardam a mesclagem do usuário |
Workflow Básico
Um workflow típico do AI Branch:
┌─────────────────────────────────────────────────────────────────┐
│ WORKFLOW DO AI BRANCH │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Passo 1: Criar AI Branch │
│ ┌───────────────────────────────────────────┐ │
│ │ apidog branch create --type ai │ │
│ │ --name "ai/20260312-from-main-feature" │ │
│ │ --from main │ │
│ └───────────────────────────────────────────┘ │
│ ↓ │
│ Passo 2: Importar ou Criar Recursos │
│ ┌───────────────────────────────────────────┐ │
│ │ apidog branch pick-to (importar existente) │ │
│ │ OU │ │
│ │ apidog endpoint create (criar novo) │ │
│ └───────────────────────────────────────────┘ │
│ ↓ │
│ Passo 3: IA Modifica Recursos │
│ ┌───────────────────────────────────────────┐ │
│ │ Agente usa CLI para atualizar endpoints, │ │
│ │ esquemas, cenários de teste, etc. │ │
│ │ (--branch parameter especifica AI Branch) │ │
│ └───────────────────────────────────────────┘ │
│ ↓ │
│ Passo 4: Usuário Revisa Diferenças │
│ ┌───────────────────────────────────────────┐ │
│ │ apidog merge-request preview │ │
│ │ OU │ │
│ │ Visualizar no cliente Apidog │ │
│ └───────────────────────────────────────────┘ │
│ ↓ │
│ Passo 5: Mesclar para o Branch de Destino │
│ ┌───────────────────────────────────────────┐ │
│ │ Mesclagem direta (branch desprotegido) │ │
│ │ OU │ │
│ │ Solicitação de mesclagem (branch protegido)│ │
│ └───────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘Criar um AI Branch
Use branch create --type ai:
apidog branch create \
--project 123456 \
--type ai \
--name "ai/20260312-from-main-userRegister" \
--from mainRecomendação de nomeação: ai/AAAAJJDD-from-sourceBranch-featureOrModule
| Comando | Propósito |
|---|---|
branch create --type ai |
Criar AI Branch |
branch list --type ai |
Visualizar AI Branches no projeto |
branch list --type all |
Visualizar todos os tipos de branch |
branch get --type ai |
Visualizar detalhes do AI Branch |
Editar Recursos em um AI Branch
Quando o CLI escreve recursos do projeto, use o parâmetro --branch para escrever no AI Branch:
| Recurso | Exemplo de Comando |
|---|---|
| Endpoint HTTP | apidog endpoint create --project <id> --branch <aiBranchName> --file ./endpoint.json |
| Modelo de dados | apidog schema update <schemaId> --project <id> --branch <aiBranchName> --file ./schema.json |
| Cenário de teste | apidog test-scenario update <scenarioId> --project <id> --branch <aiBranchName> --file ./scenario.json |
| Suíte de teste | apidog test-suite create --project <id> --branch <aiBranchName> --file ./suite.json |
Workflow recomendado:
# 1. Obter esquema
apidog cli-schema get endpoint-create
# 2. Validar antes de escrever
apidog cli-schema validate endpoint-create --file ./endpoint.json
# 3. Escrever para AI Branch (não para o principal)
apidog endpoint create \
--project 123456 \
--branch "ai/20260312-from-main-userRegister" \
--file ./endpoint.jsonImportar Recursos Existentes
Para modificar recursos existentes, importe-os primeiro do branch de origem:
apidog branch pick-to \
--project 123456 \
--from main \
--to "ai/20260312-from-main-userRegister" \
--endpoint-ids 1001,1002Isso garante que a IA trabalhe com a versão base correta.
Revisar Alterações Antes de Mesclar
Antes de mesclar, visualize as diferenças:
apidog merge-request preview \
--project 123456 \
--from "ai/20260312-from-main-userRegister" \
--to mainOu veja a diferença completa no cliente Apidog.
| Comando | Propósito |
|---|---|
merge-request preview |
Escaneia alterações candidatas |
branch get --type ai |
Visualiza informações do AI Branch |
Mesclar um AI Branch
Após a revisão, mescle as alterações:
Mesclagem Direta (Branch Desprotegido)
apidog branch merge \
--project 123456 \
--from "ai/20260312-from-main-userRegister" \
--to main \
--endpoint-ids 1001,1002Solicitação de Mesclagem (Branch Protegido)
apidog merge-request create \
--project 123456 \
--from "ai/20260312-from-main-userRegister" \
--to main \
--reviewer-ids 20001,20002 \
--endpoint-ids 1001,1002
| Comando | Propósito |
|---|---|
branch merge |
Mesclagem direta para branch desprotegido |
merge-request create |
Criar solicitação de mesclagem para revisão |
merge-request approve |
Aprovar solicitação de mesclagem |
merge-request reject |
Rejeitar solicitação de mesclagem |
Importante: Os comandos de mesclagem processam apenas a lista de recursos explicitamente fornecida. Confirme as dependências (diretórios, modelos, componentes de resposta, testes) antes de mesclar.
Arquivar e Excluir
Depois que as alterações forem mescladas ou não forem mais necessárias:
# Arquivar
apidog branch archive "ai/20260312-from-main-userRegister" \
--project 123456 --type ai
# Excluir (após arquivamento)
apidog branch delete "ai/20260312-from-main-userRegister" \
--project 123456 --type aiPermissões de Edição de IA Externa
Por padrão, o CLI escreve para o AI Branch. Isso mantém as alterações geradas por IA isoladas até a confirmação do usuário.
Para habilitar a edição direta do branch principal:
Configurações do Projeto → Configurações de Recursos → Configurações de Recursos de IA → Permissões de Edição de IA Externa
| Permissão | O Que Ela Permite |
|---|---|
| Edição direta do branch principal | CLI escreve diretamente para o principal (ignora AI Branch) |
| Edição direta do branch de sprint padrão | CLI escreve diretamente para branches de sprint |
| Edição direta do branch geral | CLI escreve diretamente para branches gerais |
| Edição direta do AI Branch | CLI escreve para AI Branches (geralmente mantido habilitado) |
Recomendação: Mantenha o isolamento do AI Branch habilitado. Habilite a edição direta apenas quando os workflows de automação claramente precisarem dela.
Melhores Práticas
| Prática | Por Quê |
|---|---|
| Um AI Branch por tarefa | Escopo claro: API de registro de usuário, documentação do módulo de pedido, testes de pagamento |
| Importar antes de editar | Use pick-to para recursos existentes — evite confusão de origem |
| Validar antes de escrever | Use cli-schema validate para capturar erros antes do AI Branch |
| Visualizar antes de mesclar | Use merge-request preview ou a visualização de diferenças do cliente |
| Escopo de mesclagem explícito | Confirme endpoints, modelos, diretórios, testes juntos |
| Manter revisão humana | Definições de API, scripts de teste devem ser revisados antes da mesclagem |
| Arquivar prontamente | Mantenha a lista de branches limpa após a mesclagem ou abandono |
AI Branch no Workflow CLI + SKILL
O AI Branch se integra naturalmente ao CLI + SKILL:
| Estágio | CLI + SKILL + AI Branch |
|---|---|
| Leitura | endpoint get de qualquer branch |
| Geração | Agente cria JSON |
| Validação | cli-schema validate localmente |
| Escrita | endpoint create --branch <aiBranchName> para AI Branch |
| Revisão | merge-request preview |
| Mesclagem | Usuário confirma, então branch merge |
| Verificação | apidog run em recursos mesclados |
Cada escrita passa pelo AI Branch → revisão humana → mesclagem.
Resumo de Segurança
| Camada | Proteção |
|---|---|
cli-schema validate |
Captura erros estruturais antes da escrita |
agentHints |
Guia o Agente para os próximos passos seguros |
| AI Branch | Isola as alterações do branch principal |
| Revisão humana | Confirma o conteúdo antes da mesclagem |
| Escopo de mesclagem | Usuário seleciona quais recursos mesclar |
Juntas, essas camadas criam um loop mais seguro para as alterações de projeto impulsionadas por Agentes.
O Que Vem a Seguir
Com o AI Branch fornecendo a camada de segurança, todas as peças estão no lugar:
- MCP para conexão de ferramentas (Parte 1)
- CLI + SKILL para execução de workflow (Partes 2-5)
- Resultados de validação (Parte 6)
- Workflows práticos (Parte 7)
- Base CI/CD (Parte 8)
- AI Branch para segurança (Parte 9)
Agora é a hora da visão.
Na Parte 10, Spec-First Foi Ontem. Bem-vindo ao Skill-First., descreveremos como o desenvolvimento de API evolui com Agentes de IA — e o que as equipes devem fazer a seguir.
Principais Conclusões
- AI Branch oferece edição isolada para operações de IA/CLI
- As alterações não afetam o branch principal até a confirmação humana
- Crie com
branch create --type ai, escreva com o parâmetro--branch - Importe recursos existentes com
branch pick-toantes de editar - Visualize com
merge-request preview, então mescle ou crie uma solicitação de mesclagem - Permissões de edição direta podem ignorar o AI Branch — use com cuidado
- Melhor prática: um AI Branch por tarefa, validar antes de escrever, revisar antes de mesclar
Baixe Apidog para projetar, simular, testar e documentar APIs em um único workspace. Saiba mais sobre o Apidog CLI para testes de API via linha de comando, automação CI e workflows de Agente de IA.
