
hulak v0.3.33
एक हल्का, फ़ाइल-आधारित CLI API क्लाइंट जिसमें age-एन्क्रिप्टेड सीक्रेट्स, प्रथम-श्रेणी GraphQL समर्थन, और AI एजेंट वर्कफ़्लो के लिए एक अंतर्निहित MCP सर्वर शामिल है।
Hulak
टर्मिनल में आपका मैसेंजर।
क्विक स्टार्ट • GraphQL एक्सप्लोरर • प्रोजेक्ट लेआउट • दस्तावेज़ीकरण
एक अनुरोध, पूरी डायरेक्टरी चलाएँ, या इंटरैक्टिव रहें
hulak run ./requests/
Hulak सीधे आपके प्रोजेक्ट से अनुरोध फ़ाइलें चलाता है। यह समवर्ती डायरेक्टरी निष्पादन का समर्थन करता है। जब आप केवल hulak चलाते हैं तो यह एक इंटरैक्टिव पिकर पर वापस चला जाता है।
समर्पित GraphQL एक्सप्लोरर
कई एंडपॉइंट्स से स्कीमा ब्राउज़ करें। ऑपरेशन खोजें। इंटरैक्टिव रूप से क्वेरी बनाएँ। इनलाइन निष्पादित करें। टर्मिनल से जेनरेट की गई फ़ाइलें सहेजें।
क्विक स्टार्ट
इंस्टॉल करें
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के साथ स्रोत से बिल्ड करें
शेल कम्पलीशन (go install / स्रोत बिल्ड)
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 आवश्यक है।
पथ A. एन्क्रिप्टेड सीक्रेट्स के साथ API क्लाइंट (डिफ़ॉल्ट)
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
एन्क्रिप्टेड सीक्रेट्स के बजाय plaintext env/*.env फ़ाइलें पसंद करते हैं?
hulak init classic
Plaintext मोड पूरी तरह से समर्थित है। अधिक जानकारी के लिए docs/environment.md देखें
एन्क्रिप्टेड सीक्रेट्स वॉल्ट या Plaintext .env फ़ाइलें
Hulak दो मोड में चलता है। hulak init के दौरान एक बार चुनें। आप बाद में माइग्रेट कर सकते हैं।
- वॉल्ट (डिफ़ॉल्ट): सीक्रेट्स
.hulak/store.ageमें रहते हैं, जो age या SSH कीपेयर से एन्क्रिप्टेड होते हैं। कमिट करना सुरक्षित है। टीमें recipients फ़ाइल के माध्यम से साझा करती हैं। docs/store.md देखें। - Plaintext: सीक्रेट्स plaintext
env/*.envफ़ाइलों में रहते हैं। सरल, कोई एन्क्रिप्शन नहीं।.gitignoreमेंenv/जोड़ें। docs/environment.md देखें।
classic चला रहे हैं और स्विच करना चाहते हैं? docs/migrating-to-vault.md देखें।
इसे AI एजेंट (MCP) से उपयोग करें
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>आवश्यक है।