01
1. Crie a chave de API
- Abra /settings/api-keys, clique Criar chave. Dê o nome do repo (ex: acme-chat-api).
- Copie o prefixo didk_ na hora: o valor cru nunca é mostrado de novo.
- No repo, Settings → Secrets → Actions → New repository secret. Nome: DOESITDEFEND_API_KEY. Valor: cole a chave didk_.
02
2. Adicione o manifest + workflow
- Crie .doesitdefend.yml na raiz: declare target.endpoint (URL do seu chat), template (openai_chat / anthropic_messages / simple_json) e observe os arquivos de prompt que devem disparar o gate.
- Crie .github/workflows/llm-gate.yml com o passo doesitdefend/scan@v1. Marque `permissions: pull-requests: write checks: write` pra Action poder postar o comentário + check run.
- Abra um PR que toque em um arquivo observado. O check run + comentário aparecem em ~2 minutos.
03
3. Escolha o perfil certo para cada estágio do pipeline
- Quick (5–15 min): rode em todo PR. A seleção diff-aware de probes executa apenas as categorias que mudaram — impacto mediano no CI é ~3 min em uma mudança típica de system_prompt. O gate só falha quando a postura REGRIDE em relação à última execução — o primeiro PR registra uma baseline, os seguintes comparam contra ela.
- Standard (15–30 min): rode como job noturno na main. Superfície de probes mais ampla captura regressões que acumulam em múltiplos PRs sem bloquear desenvolvedores. Configure required=false na regra de proteção de branch.
- Deep (30–60+ min): rode semanalmente ou pré-release. Cobertura total do corpus, medição de brittleness, pacote de evidência com compliance tags. Nunca use como gate bloqueante de PR — agende como job independente.