Retour aux mises à jour
New releaseSep 3, 2026

hulak v0.3.33

Un client API CLI léger basé sur des fichiers, avec des secrets chiffrés par age, une prise en charge GraphQL native et un serveur MCP intégré pour les workflows d'agents IA.

Partager

Hulak

Hulak

Votre messager dans le terminal.

Démarrage rapide • Explorateur GraphQL • Structure du projet • Documentation


Exécutez une requête, un répertoire entier, ou restez en interactif

Concurrent Execution
hulak run ./requests/

Hulak exécute les fichiers de requête directement depuis votre projet. Il prend en charge l'exécution concurrente de répertoires. Il bascule vers un sélecteur interactif lorsque vous lancez simplement hulak.

Explorateur GraphQL dédié

GraphQL Explorer

Parcourez les schémas de plusieurs endpoints. Recherchez des opérations. Construisez des requêtes de manière interactive. Exécutez en ligne. Enregistrez les fichiers générés depuis le terminal.

Démarrage rapide

Installation

Hulak est distribué via xaaha/tap. Homebrew 6.0+ exige une confiance explicite pour les taps tiers ; sans cela, brew upgrade ignore silencieusement hulak. Étape unique par machine :

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

Autres options d'installation :

  • go install github.com/xaaha/hulak@latest
  • Compiler depuis les sources avec go build -o hulak

Complétion shell (go install / compilations depuis les sources)

Homebrew installe la complétion automatiquement. Si vous avez installé via go install ou compilé depuis les sources, activez-la une fois :

# zsh
hulak completion zsh > "${fpath[1]}/_hulak"        # puis redémarrez votre 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 nécessite autoload -Uz compinit && compinit dans votre .zshrc.

Voie A. Client API avec secrets chiffrés (par défaut)

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

Générez une requête de démarrage ; pour vérifier rapidement à quoi ressemble un fichier de requête, exécutez :

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

[!Note] Pour d'autres types, exécutez : hulak example. La sous-commande example vous offre un moyen rapide d'écrire un fichier de requête que vous pouvez modifier. Pour plus d'informations, exécutez hulak example -h

Pour configurer un secret, vous pouvez exécuter :

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

Maintenant, dans votre fichier example-api.hk.yaml, vous pouvez référencer ce secret :

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

Exécutez la requête :

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

Vous préférez les fichiers env/*.env en clair plutôt que les secrets chiffrés ?

hulak init classic

Le mode en clair est entièrement pris en charge. Consultez docs/environment.md pour plus d'informations

Coffre de secrets chiffrés ou fichiers .env en clair

Hulak fonctionne selon deux modes. Choisissez-en un lors de hulak init. Vous pouvez migrer plus tard.

  • Coffre (par défaut) : les secrets résident dans .hulak/store.age, chiffrés avec une paire de clés age ou SSH. Sûr à committer. Les équipes partagent via un fichier de destinataires. Consultez docs/store.md.
  • En clair : les secrets résident dans des fichiers env/*.env en clair. Plus simple, sans chiffrement. Ajoutez env/ à .gitignore. Consultez docs/environment.md.

Vous utilisez le mode classic et souhaitez basculer ? Consultez docs/migrating-to-vault.md.

Utilisation depuis un agent IA (MCP)

Hulak embarque un serveur MCP intégré, afin que des agents comme Claude Code, Cursor et Zed puissent piloter votre collection d'API en langage naturel — « liste les requêtes », « dry-run login contre staging », « appelle getUser et affiche la réponse ».

Pour Claude Code, ajoutez-le avec une seule commande :

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

Cursor, Zed, Codex, opencode et Pi utilisent plutôt un petit fichier de configuration. Consultez docs/mcp.md pour chacun.

Les secrets ne quittent jamais votre machine : l'agent travaille avec les noms de requêtes et d'environnements, jamais avec les valeurs déchiffrées. Les lectures et dry-runs sont en lecture seule ; les écritures sont validées par schéma ; les fichiers de réponse ne sont pas enregistrés sauf demande explicite.

Configuration complète, référence des outils et modèle de sécurité : docs/mcp.md.

Commandes

CommandeObjectifEn savoir plus
runExécuter un ou des fichiers de requête ou un répertoirebody.md, actions.md
gqlTUI de l'explorateur GraphQLgraphql-explorer.md
secretsCRUD du coffre chiffréstore.md
initInitialiser un projet hulakstore.md
migrateConversion Postman vers hulakmigrating-to-vault.md
exampleGénérer des fichiers de requête d'exemple—
doctorVérifier la santé du projet—
mcpServir les requêtes aux agents IA via MCPmcp.md
versionAfficher la version—

Exécutez hulak <command> --help pour les options et des exemples par commande.

Comportement du sélecteur

Omettre --env ouvre un sélecteur interactif.

  • hulak run et hulak gql ne demandent une saisie que lorsque des fichiers référencent {{.key}}.
  • Les sous-commandes hulak secrets demandent une saisie à chaque fois (sauf secrets list).
  • Les shells non interactifs nécessitent --env <name>.

Pièges courants

Catégories