
hulak v0.3.33
Um cliente CLI de API leve, baseado em arquivos, com segredos criptografados com age, suporte GraphQL de primeira classe e um servidor MCP integrado para fluxos de trabalho de agentes de IA.
Hulak
Seu mensageiro no terminal.
Início Rápido • Explorador GraphQL • Estrutura do Projeto • Documentação
Execute uma requisição, um diretório inteiro ou permaneça interativo
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.
Explorador GraphQL dedicado
Navegue por schemas de múltiplos endpoints. Pesquise operações. Construa consultas interativamente. Execute inline. Salve arquivos gerados a partir do terminal.
Início Rápido
Instalação
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 ignora 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@latest- Compile a partir do código-fonte com
go build -o hulak
Autocompletar do shell (go install / compilações a partir do código-fonte)
O Homebrew instala o autocompletar automaticamente. Se você instalou via go install
ou compilou a partir do código-fonte, ative 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.
Caminho A. Cliente de API com segredos criptografados (padrão)
mkdir my-apis && cd my-apis
hulak init # creates .hulak/store.age + identity
Crie um modelo de requisição inicial; para verificar rapidamente como um arquivo de requisição se parece, execute:
hulak example api # writes example-api.hk.yaml you can run
[!Note] Para outros tipos, execute:
hulak example. O subcomandoexampleoferece 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
Prefere arquivos env/*.env em texto simples em vez de segredos criptografados?
hulak init classic
O modo texto simples é totalmente suportado. Consulte docs/environment.md para mais informações
Cofre de Segredos Criptografados ou arquivos .env em texto simples
O Hulak opera em dois modos. Escolha uma vez durante o hulak init. Você pode migrar depois.
- Cofre (padrão): os segredos ficam em
.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. - Texto simples: os segredos ficam em arquivos
env/*.envem texto simples. Mais simples, sem criptografia. Adicioneenv/ao.gitignore. Consulte docs/environment.md.
Usando o modo classic e quer trocar? Consulte docs/migrating-to-vault.md.
Use a partir de um agente de IA (MCP)
O Hulak inclui um servidor MCP integrado, para que agentes como Claude Code, Cursor e Zed possam conduzir sua coleção de APIs em linguagem natural — "liste as requisições", "simule login contra staging", "chame getUser e mostre a resposta".
Para o Claude Code, adicione-o com um 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ções e ambientes, nunca com valores descriptografados. Leituras e simulações são somente leitura; escritas são validadas por schema; 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.
Comandos
| Comando | Propósito | Leia mais |
|---|---|---|
run | Executa arquivo(s) de requisição ou um diretório | body.md, actions.md |
gql | TUI do explorador GraphQL | 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 | Cria arquivos de requisição de exemplo | — |
doctor | Verifica a saúde do projeto | — |
mcp | Serve requisições para agentes de IA via MCP | mcp.md |
version | Imprime a versão | — |
Execute hulak <command> --help para flags e exemplos por comando.
Comportamento do seletor
Omitir --env abre um seletor interativo.
hulak runehulak gqlsó solicitam quando os arquivos referenciam{{.key}}.- Os subcomandos de
hulak secretssolicitam sempre (excetosecrets list). - Shells não interativos exigem
--env <name>.