
Cliente de API CLI leve baseado em arquivos, com segredos criptografados com age, suporte de primeira classe para GraphQL e servidor MCP para fluxos de trabalho agênticos.
REST · GraphQL · OAuth
Início Rápido • Explorador GraphQL • Estrutura do Projeto • Documentação
hulak run ./requests/
O Hulak executa arquivos de requisição diretamente do seu projeto. Ele suporta execução concorrente de diretórios. Ele recorre a um seletor interativo quando você simplesmente executa hulak.
Navegue por esquemas de vários endpoints. Pesquise operações. Construa consultas interativamente. Execute inline. Salve os arquivos gerados a partir do terminal.
O Hulak é distribuído via xaaha/tap. O Homebrew 6.0+ exige confiança explícita para taps de terceiros; sem isso, o brew upgrade pula o hulak silenciosamente. Etapa única por máquina:
brew trust xaaha/tap
brew install --cask xaaha/tap/hulak
Outras opções de instalação:
go install github.com/xaaha/hulak@latestgo build -o hulakO Homebrew instala o auto-completar automaticamente. Se você instalou via go install ou compilou a partir do código-fonte, ative-o uma vez:
# zsh
hulak completion zsh > "${fpath[1]}/_hulak" # then restart your shell
# bash (macOS, Homebrew bash-completion)
hulak completion bash > $(brew --prefix)/etc/bash_completion.d/hulak
# bash (Linux)
hulak completion bash | sudo tee /etc/bash_completion.d/hulak >/dev/null
O Zsh exige autoload -Uz compinit && compinit no seu .zshrc.
mkdir my-apis && cd my-apis
hulak init # creates .hulak/store.age + identity
Gere uma requisição inicial. Para verificar rapidamente a aparência de um arquivo de requisição, execute:
hulak example api # writes example-api.hk.yaml you can run
[!Note] Para outros tipos, execute:
hulak example. O subcomandoexamplefornece uma maneira rápida de escrever um arquivo de requisição que você pode modificar. Para mais informações, executehulak example -h
Para configurar um segredo, você pode executar:
hulak secrets keys set placeholder https://jsonplaceholder.typicode.com/posts -env prod
Agora, no seu arquivo example-api.hk.yaml, você pode referenciar este segredo:
method: POST
url: "{{.placeholder}}"
# rest of the body of the file remains same
Execute a requisição:
hulak run example-api.hk.yaml --env prod
env/*.env em texto puro em vez de segredos criptografados?hulak init classic
O modo texto puro é totalmente suportado. Consulte docs/environment.md para mais informações.
.env em Texto PuroO Hulak opera em dois modos. Escolha uma vez durante o hulak init. Você pode migrar posteriormente.
.hulak/store.age, criptografados com um par de chaves age ou SSH. Seguro para commit. Equipes compartilham via um arquivo de destinatários. Consulte docs/store.md.env/*.env em texto puro. Mais simples, sem criptografia. Adicione env/ ao .gitignore. Consulte docs/environment.md.Está no modo clássico e quer mudar? Consulte docs/migrating-to-vault.md.
O Hulak acompanha um servidor MCP integrado, permitindo que agentes como Claude Code, Cursor e Zed controlem sua coleção de APIs em linguagem natural — "liste as requisições", "faça um dry-run de login no staging", "chame getUser e mostre a resposta".
Para o Claude Code, adicione-o com um único comando:
claude mcp add hulak -s user -- hulak mcp --project api=~/work/api-tests
Cursor, Zed, Codex, opencode e Pi usam um pequeno arquivo de configuração. Consulte docs/mcp.md para cada um.
Os segredos nunca saem da sua máquina: o agente trabalha com nomes de requisição e de ambiente, nunca com valores descriptografados. Leituras e dry-runs são somente leitura; gravações são validadas por esquema; arquivos de resposta não são salvos a menos que solicitado.
Configuração completa, referência de ferramentas e modelo de segurança: docs/mcp.md.
| Comando | Finalidade | Leia mais |
|---|---|---|
run | Executa arquivo(s) de requisição ou um diretório | body.md, actions.md |
gql | Explorador GraphQL TUI | graphql-explorer.md |
secrets | CRUD do cofre criptografado | store.md |
init | Inicializa um projeto hulak | store.md |
migrate | Conversão de Postman para hulak | migrating-to-vault.md |
example | Gera arquivos de requisição de exemplo | — |
doctor | Verifica a saúde do projeto | — |
mcp | Atende requisições de agentes de IA via MCP | mcp.md |
version | Exibe a versão | — |
Execute hulak <command> --help para ver as flags e exemplos por comando.
Omitir --env abre um seletor interativo.
hulak run e hulak gql só solicitam quando os arquivos referenciam {{.key}}.hulak secrets solicitam todas as vezes (exceto secrets list).--env <name>.