Torna agli aggiornamenti
New releaseSep 3, 2026

hulak v0.3.33

Un client API CLI leggero basato su file con segreti crittografati con age, supporto GraphQL di prima classe e un server MCP integrato per i flussi di lavoro degli agenti AI.

Condividi

Hulak

Hulak

Il tuo messenger nel terminale.

Avvio rapido • GraphQL Explorer • Struttura del progetto • Documentazione


Esegui una richiesta, un'intera directory o resta in modalità interattiva

Concurrent Execution
hulak run ./requests/

Hulak esegue i file di richiesta direttamente dal tuo progetto. Supporta l'esecuzione concorrente delle directory. Torna a un selettore interattivo quando esegui semplicemente hulak.

GraphQL Explorer dedicato

GraphQL Explorer

Esplora gli schemi da più endpoint. Cerca operazioni. Costruisci query in modo interattivo. Esegui inline. Salva i file generati dal terminale.

Avvio rapido

Installazione

Hulak è distribuito tramite xaaha/tap. Homebrew 6.0+ richiede un trust esplicito per i tap di terze parti; senza di esso, brew upgrade salta silenziosamente hulak. Passaggio una tantum per macchina:

brew trust xaaha/tap
brew install --cask xaaha/tap/hulak

Altre opzioni di installazione:

  • go install github.com/xaaha/hulak@latest
  • Compila dal sorgente con go build -o hulak

Completamento shell (go install / build dal sorgente)

Homebrew installa il completamento automaticamente. Se hai installato tramite go install o compilato dal sorgente, attivalo una volta:

# 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

Zsh richiede autoload -Uz compinit && compinit nel tuo .zshrc.

Percorso A. Client API con segreti cifrati (predefinito)

mkdir my-apis && cd my-apis
hulak init # creates .hulak/store.age + identity

Genera una richiesta iniziale; per verificare rapidamente come appare un file di richiesta esegui:

hulak example api  # writes example-api.hk.yaml you can run

[!Note] Per altri tipi esegui: hulak example. Il sottocomando example ti offre un modo rapido per scrivere un file di richiesta che puoi modificare. Per maggiori informazioni esegui hulak example -h

Per impostare un segreto puoi eseguire:

hulak secrets keys set placeholder  https://jsonplaceholder.typicode.com/posts -env prod

Ora, nel tuo file example-api.hk.yaml, puoi fare riferimento a questo segreto:

method: POST
url: "{{.placeholder}}"
# rest of the body of the file remains same

Esegui la richiesta:

hulak run example-api.hk.yaml --env prod

Preferisci file env/*.env in chiaro invece dei segreti cifrati?

hulak init classic

La modalità in chiaro è pienamente supportata. Vedi docs/environment.md per maggiori informazioni

Vault di segreti cifrati o file .env in chiaro

Hulak funziona in due modalità. Scegline una durante hulak init. Puoi migrare in seguito.

  • Vault (predefinito): i segreti risiedono in .hulak/store.age, cifrati con una coppia di chiavi age o SSH. Sicuro da committare. I team condividono tramite un file dei destinatari. Vedi docs/store.md.
  • In chiaro: i segreti risiedono in file env/*.env in chiaro. Più semplice, nessuna cifratura. Aggiungi env/ a .gitignore. Vedi docs/environment.md.

Stai usando la modalità classic e vuoi passare all'altra? Vedi docs/migrating-to-vault.md.

Usalo da un agente AI (MCP)

Hulak include un server MCP integrato, così agenti come Claude Code, Cursor e Zed possono gestire la tua collezione di API in linguaggio naturale — "elenca le richieste", "dry-run di login su staging", "chiama getUser e mostra la risposta".

Per Claude Code, aggiungilo con un solo comando:

claude mcp add hulak -s user -- hulak mcp --project api=~/work/api-tests

Cursor, Zed, Codex, opencode e Pi usano invece un piccolo file di configurazione. Vedi docs/mcp.md per ciascuno.

I segreti non lasciano mai la tua macchina: l'agente lavora con i nomi delle richieste e degli ambienti, mai con i valori decifrati. Le letture e i dry-run sono di sola lettura; le scritture sono validate dallo schema; i file di risposta non vengono salvati se non richiesto.

Configurazione completa, riferimento degli strumenti e modello di sicurezza: docs/mcp.md.

Comandi

ComandoScopoApprofondisci
runEsegue file di richiesta o una directorybody.md, actions.md
gqlTUI GraphQL explorergraphql-explorer.md
secretsCRUD del vault cifratostore.md
initInizializza un progetto hulakstore.md
migrateConversione da Postman a hulakmigrating-to-vault.md
exampleGenera file di richiesta di esempio—
doctorVerifica la salute del progetto—
mcpServe le richieste agli agenti AI via MCPmcp.md
versionStampa la versione—

Esegui hulak <command> --help per i flag e gli esempi per singolo comando.

Comportamento del selettore

Omettere --env apre un selettore interattivo.

  • hulak run e hulak gql chiedono solo quando i file fanno riferimento a {{.key}}.
  • I sottocomandi di hulak secrets chiedono ogni volta (tranne secrets list).
  • Le shell non interattive richiedono --env <name>.

Insidie comuni

Categorie