Chaves de API
Crie, gerencie e proteja chaves de API para autenticação com o SpecForge.
Chaves de API autenticam a CLI, o servidor MCP e quaisquer chamadas diretas de API ao seu projeto SpecForge. Toda requisição ao SpecForge deve incluir uma chave válida.
Criando uma Chave de API
- Abra seu projeto no painel do SpecForge
- Navegue até Settings > API Keys
- Clique em Generate New Key
- Dê à chave um rótulo descritivo (ex.: “Local Development”, “CI Pipeline”)
- Copie a chave imediatamente
⚠️ Chaves de API são exibidas apenas uma vez na criação. Se você perder uma chave, revogue-a e gere uma nova.
Formato da Chave
O SpecForge usa chaves com prefixo para que você identifique o ambiente com um olhar:
| Prefixo | Ambiente | Propósito |
|---|---|---|
sf_live_ | Produção | Acesso completo aos dados e especificações do seu projeto |
sf_test_ | Teste | Sandbox isolado para testes de integração e CI |
Chaves de teste operam contra uma cópia isolada do seu projeto. Mudanças feitas com uma chave de teste não afetam dados de produção.
Usando Sua Chave de API
Opção 1: Login pelo Navegador (recomendado para dev local)
specforge loginAbre um fluxo de autenticação baseado em navegador e armazena credenciais em ~/.specforge/config.json automaticamente. Mais simples para desenvolvimento do dia a dia.
Opção 2: Flag de Chave de API (ambientes headless)
specforge login --api-key sf_live_...Use para servidores remotos, pipelines de CI, ou qualquer ambiente sem navegador.
Opção 3: Variável de Ambiente (CI/CD)
export SPECFORGE_API_KEY="sf_live_..."Abordagem recomendada para pipelines de CI/CD e ambientes containerizados. Armazene como secret no seu provedor de CI (GitHub Actions secrets, variáveis do GitLab CI, etc.).
Precedência
Quando múltiplas fontes fornecem uma chave de API, a mais específica vence:
- Variável de ambiente
SPECFORGE_API_KEY(mais alta) - Config do projeto
.specforge/config.json - Config global
~/.specforge/config.json(mais baixa)
Isso significa que você pode ter uma chave padrão para desenvolvimento local na sua config global e sobrescrever por projeto ou por pipeline com uma variável de ambiente.
Gerenciando Chaves
Rotação
Para rotacionar uma chave sem downtime:
- Gere uma nova chave em Settings > API Keys
- Atualize sua config da CLI ou variável de ambiente com a nova chave
- Verifique a conectividade com
specforge doctor - Revogue a chave antiga pelo painel
O intervalo entre os passos 1 e 4 é sua janela de rotação. Ambas as chaves funcionam simultaneamente até a antiga ser revogada.
Revogação
Clique em Revoke ao lado de qualquer chave em Settings > API Keys. A revogação é imediata — qualquer requisição usando aquela chave falha com erro de autenticação a partir daquele momento.
Múltiplas Chaves
Crie quantas chaves precisar por projeto. Padrões comuns:
- Uma chave por desenvolvedor para desenvolvimento local — se alguém sai, revogue a chave sem afetar outros
- Chave dedicada de CI para pipelines — isolada das chaves de dev, fácil de rotacionar
- Chave de teste para suítes de teste de integração — acessa o sandbox, não produção
- Chaves separadas por ambiente de deploy — staging e produção usam chaves diferentes
Práticas de Segurança
- Nunca commite chaves de API no controle de versão. Adicione
~/.specforge/config.jsonao seu gitignore global ou use variáveis de ambiente exclusivamente. - Use chaves de teste para testes automatizados. Isola atividade de teste dos dados de produção.
- Rotacione chaves periodicamente. Se uma chave pode ter sido exposta, revogue-a imediatamente e gere uma substituta.
- Escopifique chaves ao seu propósito. Chaves separadas para CI, dev local e produção facilita revogar uma chave comprometida sem interromper outros fluxos de trabalho.
- Use variáveis de ambiente no CI. Armazene chaves como secrets no seu provedor de CI, nunca em arquivos de configuração que serão commitados.
✅ Execute
specforge doctorapós qualquer mudança de chave para verificar se a autenticação está funcionando corretamente.
Veja Também
- Instalar CLI — Setup inicial de autenticação
- Schema de Configuração — Onde chaves são armazenadas e regras de precedência