
hulak v0.3.32
हल्का फ़ाइल-आधारित CLI API क्लाइंट जिसमें age-एन्क्रिप्टेड सीक्रेट्स, प्रथम श्रेणी GraphQL समर्थन और एजेंटिक वर्कफ़्लो के लिए MCP सर्वर शामिल है।
एन्क्रिप्टेड सीक्रेट्स के साथ Git-नेटिव API क्लाइंट।
REST · GraphQL · OAuth
त्वरित शुरुआत • 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
क्या एन्क्रिप्टेड सीक्रेट्स की बजाय प्लेनटेक्स्ट env/*.env फ़ाइलें पसंद हैं?
hulak init classic
प्लेनटेक्स्ट मोड पूरी तरह समर्थित है। अधिक जानकारी के लिए docs/environment.md देखें।
एन्क्रिप्टेड सीक्रेट्स वॉल्ट या प्लेनटेक्स्ट .env फ़ाइलें
Hulak दो मोड में चलता है। hulak init के दौरान एक बार चुनें। आप बाद में माइग्रेट कर सकते हैं।
- वॉल्ट (डिफ़ॉल्ट): सीक्रेट्स
.hulak/store.ageमें रहते हैं, जो age या SSH कुंजी-जोड़ी से एन्क्रिप्टेड होते हैं। कमिट करना सुरक्षित है। टीमें recipients फ़ाइल के माध्यम से साझा करती हैं। docs/store.md देखें। - प्लेनटेक्स्ट: सीक्रेट्स प्लेनटेक्स्ट
env/*.envफ़ाइलों में रहते हैं। सरल, कोई एन्क्रिप्शन नहीं।.gitignoreमेंenv/जोड़ें। docs/environment.md देखें।
क्लासिक मोड चला रहे हैं और बदलना चाहते हैं? docs/migrating-to-vault.md देखें।
इसे AI एजेंट (MCP) से उपयोग करें
Hulak एक बिल्ट-इन MCP सर्वर के साथ आता है, ताकि Claude Code, Cursor और Zed जैसे एजेंट आपके API संग्रह को सरल भाषा में नियंत्रित कर सकें — "रिक्वेस्ट सूचीबद्ध करें", "staging पर login का ड्राई-रन करें", "getUser कॉल करें और रिस्पॉन्स दिखाएँ"।
Claude Code के लिए, इसे एक ही कमांड से जोड़ें:
claude mcp add hulak -s user -- hulak mcp --project api=~/work/api-tests
Cursor, Zed, Codex, opencode और Pi इसके बजाय एक छोटी कॉन्फ़िग फ़ाइल का उपयोग करते हैं। प्रत्येक के लिए docs/mcp.md देखें।
सीक्रेट्स कभी आपकी मशीन से बाहर नहीं जाते: एजेंट रिक्वेस्ट और एन्वायरनमेंट नामों के साथ काम करता है, कभी भी डिक्रिप्ट किए गए मानों के साथ नहीं। रीड और ड्राई-रन रीड-ओनली होते हैं; राइट्स स्कीमा-सत्यापित होते हैं; जब तक न कहा जाए, रिस्पॉन्स फ़ाइलें सहेजी नहीं जातीं।
पूर्ण सेटअप, टूल संदर्भ और सुरक्षा मॉडल: docs/mcp.md।
कमांड्स
| कमांड | उद्देश्य | अधिक पढ़ें |
|---|---|---|
run | रिक्वेस्ट फ़ाइल(एँ) या एक निर्देशिका निष्पादित करें | body.md, actions.md |
gql | GraphQL एक्सप्लोरर TUI | graphql-explorer.md |
secrets | एन्क्रिप्टेड वॉल्ट CRUD | store.md |
init | एक hulak प्रोजेक्ट आरंभ करें | store.md |
migrate | Postman से hulak रूपांतरण | migrating-to-vault.md |
example | नमूना रिक्वेस्ट फ़ाइलें तैयार करें | — |
doctor | प्रोजेक्ट की सेहत जाँचें | — |
mcp | MCP के माध्यम से AI एजेंटों को रिक्वेस्ट परोसें | mcp.md |
version | संस्करण प्रिंट करें | — |
फ़्लैग और प्रति-कमांड उदाहरणों के लिए hulak <command> --help चलाएँ।
पिकर व्यवहार
--env को छोड़ने पर एक इंटरैक्टिव पिकर खुलता है।
hulak runऔरhulak gqlकेवल तब प्रॉम्प्ट करते हैं जब फ़ाइलें{{.key}}का संदर्भ देती हैं।hulak secretsउप-कमांड हर बार प्रॉम्प्ट करते हैं (secrets listको छोड़कर)।- गैर-इंटरैक्टिव शेल के लिए
--env <name>आवश्यक है।
सामान्य गलतियाँ
~/.config/hulak/identity.txtको कभी कमिट न करें। यह आपकी निजी कुंजी है। Mode 0600। पहले इसका बैकअप लें। docs/store.md#identity-backup देखें।hulak initपर,-envenv फ़ाइलें बनाता है। यह एक सेटअप फ़्लैग है, रनटाइम चयनकर्ता नहीं।hulak init -env staging prodदो env तैयार करता है।env,secretsका उपनाम है।hulak env listवैसे ही काम करता है जैसेhulak secrets list।- GUI एडिटरों को
secrets editके लिए वेट फ़्लैग की आवश्यकता होती है।EDITOR="code -w"याEDITOR="zed --wait"उपयोग करें। इसके बिना एडिटर तुरंत लौट आता है और बदलाव खो जाते हैं। store.ageपर मर्ज कॉन्फ्लिक्ट के लिए एक निर्धारित प्रक्रिया की आवश्यकता होती है। docs/versioning.md#merge-conflicts देखें।
प्रोजेक्ट संरचना
my-project/
├── .hulak/
│ ├── store.age # encrypted secrets (safe to commit)
│ └── recipients.txt # public keys of recipients (safe to commit)
├── requests/
│ ├── create-user.hk.yaml
│ └── get-user.hk.yaml
└── (your project files)
~/.config/hulak/
└── identity.txt # YOUR private key. NEVER commit. Mode 0600.
GraphQL एक्सप्लोरर
एक्सप्लोरर को किसी फ़ाइल या निर्देशिका के साथ शुरू करें:
hulak gql e2etests/gql_schemas/countries.yml
hulak gql .
hulak gql -env staging ./collections/graphql
पूरी गाइड docs/graphql-explorer.md में पढ़ें।
दस्तावेज़ीकरण
पूर्ण संदर्भ के लिए यहाँ से शुरू करें:
- एन्क्रिप्टेड स्टोर। एन्क्रिप्शन मॉडल, टीम साझाकरण, CI।
- वॉल्ट में माइग्रेट करना।
env/से.hulak/तक। - अपने वॉल्ट की वर्ज़निंग। सीक्रेट्स के लिए Git वर्कफ़्लो।
- तुलना। Hulak बनाम SOPS, Bruno और अन्य।
- रिक्वेस्ट बॉडी
- एक्शन्स
- एन्वायरनमेंट सीक्रेट्स (क्लासिक मोड)
- रिस्पॉन्स फ़ाइलें
- GraphQL एक्सप्लोरर
- Auth 2.0
- MCP सर्वर। अपनी रिक्वेस्ट्स को AI एजेंटों को उपलब्ध कराएँ।
पूरी कमांड सूची के लिए, चलाएँ:
hulak help
hulak <command> --help
स्कीमा समर्थन
Hulak स्कीमा Schema Store में उपलब्ध है, इसलिए Schema Store का समर्थन करने वाले एडिटर .hk.yaml और .hk.yml फ़ाइलों के लिए स्वचालित रूप से कम्प्लीशन सक्षम कर सकते हैं।
आप अपने YAML भाषा सर्वर को सीधे यहाँ भी इंगित कर सकते हैं:
https://raw.githubusercontent.com/xaaha/hulak/refs/heads/main/assets/schema.json
योगदान
git clone https://github.com/xaaha/hulak.git
cd hulak
mise install
पूर्ण विकास वर्कफ़्लो के लिए CONTRIBUTING.md देखें।
प्रोजेक्ट को समर्थन दें
यदि Hulak आपके लिए उपयोगी है, तो एक issue खोलें, एक फ़ीचर सुझाएँ, एक पुल रिक्वेस्ट भेजें, या प्रोजेक्ट को स्पॉन्सर करें।