
एक हल्का, फ़ाइल-आधारित CLI API क्लाइंट जिसमें age-एन्क्रिप्टेड सीक्रेट्स, प्रथम-श्रेणी GraphQL समर्थन, और AI एजेंट वर्कफ़्लो के लिए एक अंतर्निहित MCP सर्वर शामिल है।
क्विक स्टार्ट • GraphQL एक्सप्लोरर • प्रोजेक्ट लेआउट • दस्तावेज़ीकरण
hulak run ./requests/
Hulak सीधे आपके प्रोजेक्ट से अनुरोध फ़ाइलें चलाता है। यह समवर्ती डायरेक्टरी निष्पादन का समर्थन करता है। जब आप केवल hulak चलाते हैं तो यह एक इंटरैक्टिव पिकर पर वापस चला जाता है।
कई एंडपॉइंट्स से स्कीमा ब्राउज़ करें। ऑपरेशन खोजें। इंटरैक्टिव रूप से क्वेरी बनाएँ। इनलाइन निष्पादित करें। टर्मिनल से जेनरेट की गई फ़ाइलें सहेजें।
Hulak xaaha/tap के माध्यम से उपलब्ध है। Homebrew 6.0+ को तृतीय-पक्ष टैप्स के लिए स्पष्ट विश्वास की आवश्यकता होती है; इसके बिना, brew upgrade चुपचाप hulak को छोड़ देता है। प्रति मशीन एक बार का चरण:
brew trust xaaha/tap
brew install --cask xaaha/tap/hulak
अन्य इंस्टॉल विकल्प:
go install github.com/xaaha/hulak@latestgo build -o hulak के साथ स्रोत से बिल्ड करेंHomebrew स्वचालित रूप से कम्पलीशन इंस्टॉल करता है। यदि आपने go install के माध्यम से इंस्टॉल किया है
या स्रोत से बिल्ड किया है, तो एक बार ऑप्ट इन करें:
# 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 के लिए आपकी .zshrc में autoload -Uz compinit && compinit आवश्यक है।
mkdir my-apis && cd my-apis
hulak init # creates .hulak/store.age + identity
एक स्टार्टर अनुरोध स्कैफ़ोल्ड करें, यह देखने के लिए कि अनुरोध फ़ाइल कैसी दिखती है, चलाएँ:
hulak example api # writes example-api.hk.yaml you can run
[!Note] अन्य प्रकारों के लिए चलाएँ:
hulak example।exampleसब-कमांड आपको एक अनुरोध फ़ाइल लिखने का त्वरित तरीका देता है जिसे आप संशोधित कर सकते हैं। अधिक जानकारी के लिएhulak example -hचलाएँ
एक सीक्रेट सेट करने के लिए आप चला सकते हैं:
hulak secrets keys set placeholder https://jsonplaceholder.typicode.com/posts -env prod
अब, अपनी example-api.hk.yaml फ़ाइल में, आप इस सीक्रेट को संदर्भित कर सकते हैं:
method: POST
url: "{{.placeholder}}"
# rest of the body of the file remains same
अनुरोध चलाएँ:
hulak run example-api.hk.yaml --env prod
env/*.env फ़ाइलें पसंद करते हैं?hulak init classic
Plaintext मोड पूरी तरह से समर्थित है। अधिक जानकारी के लिए docs/environment.md देखें
.env फ़ाइलेंHulak दो मोड में चलता है। hulak init के दौरान एक बार चुनें। आप बाद में माइग्रेट कर सकते हैं।
.hulak/store.age में रहते हैं, जो age या SSH कीपेयर से एन्क्रिप्टेड होते हैं। कमिट करना सुरक्षित है। टीमें recipients फ़ाइल के माध्यम से साझा करती हैं। docs/store.md देखें।env/*.env फ़ाइलों में रहते हैं। सरल, कोई एन्क्रिप्शन नहीं। .gitignore में env/ जोड़ें। docs/environment.md देखें।classic चला रहे हैं और स्विच करना चाहते हैं? docs/migrating-to-vault.md देखें।
Hulak एक अंतर्निहित MCP सर्वर के साथ आता है, ताकि Claude Code, Cursor, और Zed जैसे एजेंट सरल भाषा में आपके API संग्रह को चला सकें — "अनुरोधों की सूची बनाएँ", "staging के विरुद्ध login का dry-run करें", "getUser को कॉल करें और प्रतिक्रिया दिखाएँ"।
Claude Code के लिए, इसे एक कमांड से जोड़ें:
claude mcp add hulak -s user -- hulak mcp --project api=~/work/api-tests
Cursor, Zed, Codex, opencode, और Pi इसके बजाय एक छोटी कॉन्फ़िग फ़ाइल का उपयोग करते हैं। प्रत्येक के लिए docs/mcp.md देखें।
सीक्रेट्स कभी आपकी मशीन नहीं छोड़ते: एजेंट अनुरोध और एनवायरनमेंट नामों के साथ काम करता है, कभी डिक्रिप्टेड मानों के साथ नहीं। रीड्स और dry-runs केवल-पढ़ने के लिए हैं; राइट्स स्कीमा-मान्य हैं; प्रतिक्रिया फ़ाइलें तब तक सहेजी नहीं जातीं जब तक पूछा न जाए।
पूर्ण सेटअप, टूल संदर्भ, और सुरक्षा मॉडल: docs/mcp.md।
| Command | Purpose | Read more |
|---|---|---|
run | Execute request file(s) or a directory | body.md, actions.md |
gql | GraphQL explorer TUI | graphql-explorer.md |
secrets | Encrypted vault CRUD | store.md |
init | Initialize a hulak project | store.md |
migrate | Postman to hulak conversion | migrating-to-vault.md |
example | Scaffold sample request files | — |
doctor | Check project health | — |
mcp | Serve requests to AI agents over MCP | mcp.md |
version | Print version | — |
फ़्लैग्स और प्रति-कमांड उदाहरणों के लिए hulak <command> --help चलाएँ।
--env छोड़ने पर एक इंटरैक्टिव पिकर खुलता है।
hulak run और hulak gql केवल तब प्रॉम्प्ट करते हैं जब फ़ाइलें {{.key}} को संदर्भित करती हैं।hulak secrets सबकमांड हर बार प्रॉम्प्ट करते हैं (secrets list को छोड़कर)।--env <name> आवश्यक है।