
hulak v0.3.33
Ein leichtgewichtiger, dateibasierter CLI-API-Client mit age-verschlüsselten Secrets, erstklassiger GraphQL-Unterstützung und einem integrierten MCP-Server für KI-Agent-Workflows.
Hulak
Dein Messenger im Terminal.
Schnellstart • GraphQL Explorer • Projektstruktur • Dokumentation
Führe eine Anfrage, ein ganzes Verzeichnis aus oder bleibe interaktiv
hulak run ./requests/
Hulak führt Anfragedateien direkt aus deinem Projekt aus. Es unterstützt die gleichzeitige Ausführung von Verzeichnissen. Wenn du einfach hulak ausführst, wird auf eine interaktive Auswahl zurückgegriffen.
Dedizierter GraphQL Explorer
Durchsuche Schemas von mehreren Endpunkten. Suche Operationen. Erstelle Abfragen interaktiv. Führe sie inline aus. Speichere generierte Dateien aus dem Terminal.
Schnellstart
Installation
Hulak wird über xaaha/tap bereitgestellt. Homebrew 6.0+ erfordert explizites Vertrauen für Drittanbieter-Taps; ohne dieses überspringt brew upgrade hulak stillschweigend. Einmaliger Schritt pro Maschine:
brew trust xaaha/tap
brew install --cask xaaha/tap/hulak
Weitere Installationsoptionen:
go install github.com/xaaha/hulak@latest- Aus dem Quellcode mit
go build -o hulakbauen
Shell-Vervollständigung (go install / Quellcode-Builds)
Homebrew installiert die Vervollständigung automatisch. Wenn du über go install installiert oder aus dem Quellcode gebaut hast, aktiviere sie einmalig:
# zsh
hulak completion zsh > "${fpath[1]}/_hulak" # dann Shell neu starten
# 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 erfordert autoload -Uz compinit && compinit in deiner .zshrc.
Weg A. API-Client mit verschlüsselten Secrets (Standard)
mkdir my-apis && cd my-apis
hulak init # creates .hulak/store.age + identity
Erstelle eine Beispielanfrage. Um schnell zu sehen, wie eine Anfragedatei aussieht, führe aus:
hulak example api # writes example-api.hk.yaml you can run
[!Note] Für andere Typen führe aus:
hulak example. Der Unterbefehlexamplebietet dir eine schnelle Möglichkeit, eine Anfragedatei zu schreiben, die du anpassen kannst. Für weitere Informationen führehulak example -haus.
Um ein Secret einzurichten, kannst du ausführen:
hulak secrets keys set placeholder https://jsonplaceholder.typicode.com/posts -env prod
Jetzt kannst du in deiner Datei example-api.hk.yaml auf dieses Secret verweisen:
method: POST
url: "{{.placeholder}}"
# rest of the body of the file remains same
Führe die Anfrage aus:
hulak run example-api.hk.yaml --env prod
Bevorzugst du Klartext-env/*.env-Dateien anstelle verschlüsselter Secrets?
hulak init classic
Der Klartextmodus wird vollständig unterstützt. Weitere Informationen findest du in docs/environment.md
Verschlüsselter Secrets-Tresor oder Klartext-.env-Dateien
Hulak läuft in zwei Modi. Wähle einmal während hulak init. Du kannst später migrieren.
- Tresor (Standard): Secrets liegen in
.hulak/store.age, verschlüsselt mit einem age- oder SSH-Schlüsselpaar. Sicher zum Committen. Teams teilen über eine Empfängerdatei. Siehe docs/store.md. - Klartext: Secrets liegen in Klartext-
env/*.env-Dateien. Einfacher, keine Verschlüsselung. Fügeenv/zu.gitignorehinzu. Siehe docs/environment.md.
Du läufst im Classic-Modus und möchtest wechseln? Siehe docs/migrating-to-vault.md.
Nutzung aus einem KI-Agenten (MCP)
Hulak liefert einen integrierten MCP-Server mit, sodass Agenten wie Claude Code, Cursor und Zed deine API-Sammlung in natürlicher Sprache steuern können – „liste die Anfragen auf", „führe einen Dry-Run von login gegen Staging aus", „rufe getUser auf und zeige die Antwort".
Für Claude Code füge ihn mit einem Befehl hinzu:
claude mcp add hulak -s user -- hulak mcp --project api=~/work/api-tests
Cursor, Zed, Codex, opencode und Pi verwenden stattdessen eine kleine Konfigurationsdatei. Siehe docs/mcp.md für jede einzelne.
Secrets verlassen niemals deinen Rechner: Der Agent arbeitet mit Namen von Anfragen und Umgebungen, niemals mit entschlüsselten Werten. Lesevorgänge und Dry-Runs sind schreibgeschützt; Schreibvorgänge werden schema-validiert; Antwortdateien werden nicht gespeichert, es sei denn, dies wird angefordert.
Vollständige Einrichtung, Tool-Referenz und Sicherheitsmodell: docs/mcp.md.
Befehle
| Befehl | Zweck | Mehr erfahren |
|---|---|---|
run | Anfragedatei(en) oder ein Verzeichnis ausführen | body.md, actions.md |
gql | GraphQL-Explorer-TUI | graphql-explorer.md |
secrets | CRUD für verschlüsselten Tresor | store.md |
init | Ein Hulak-Projekt initialisieren | store.md |
migrate | Konvertierung von Postman zu Hulak | migrating-to-vault.md |
example | Beispiel-Anfragedateien erstellen | — |
doctor | Projektzustand prüfen | — |
mcp | Anfragen über MCP für KI-Agenten bereitstellen | mcp.md |
version | Version ausgeben | — |
Führe hulak <command> --help aus, um Flags und befehlsspezifische Beispiele zu erhalten.
Verhalten der Auswahl
Das Weglassen von --env öffnet eine interaktive Auswahl.
hulak runundhulak gqlfragen nur nach, wenn Dateien auf{{.key}}verweisen.hulak secrets-Unterbefehle fragen jedes Mal nach (außersecrets list).- Nicht-interaktive Shells erfordern
--env <name>.