
हल्का फ़ाइल-आधारित CLI API क्लाइंट जिसमें age-एन्क्रिप्टेड सीक्रेट्स, प्रथम श्रेणी GraphQL समर्थन और एजेंटिक वर्कफ़्लो के लिए MCP सर्वर शामिल है।
REST · GraphQL · OAuth
त्वरित शुरुआत • 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
प्लेनटेक्स्ट मोड पूरी तरह समर्थित है। अधिक जानकारी के लिए 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 देखें।
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।
फ़्लैग और प्रति-कमांड उदाहरणों के लिए 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 पर, -env env फ़ाइलें बनाता है। यह एक सेटअप फ़्लैग है, रनटाइम चयनकर्ता नहीं। hulak init -env staging prod दो env तैयार करता है।env, secrets का उपनाम है। hulak env list वैसे ही काम करता है जैसे hulak secrets list।secrets edit के लिए वेट फ़्लैग की आवश्यकता होती है। EDITOR="code -w" या EDITOR="zed --wait" उपयोग करें। इसके बिना एडिटर तुरंत लौट आता है और बदलाव खो जाते हैं।store.age पर मर्ज कॉन्फ्लिक्ट के लिए एक निर्धारित प्रक्रिया की आवश्यकता होती है। देखें।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.
एक्सप्लोरर को किसी फ़ाइल या निर्देशिका के साथ शुरू करें:
hulak gql e2etests/gql_schemas/countries.yml
hulak gql .
hulak gql -env staging ./collections/graphql
पूरी गाइड docs/graphql-explorer.md में पढ़ें।
पूर्ण संदर्भ के लिए यहाँ से शुरू करें:
env/ से .hulak/ तक।पूरी कमांड सूची के लिए, चलाएँ:
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 खोलें, एक फ़ीचर सुझाएँ, एक पुल रिक्वेस्ट भेजें, या प्रोजेक्ट को स्पॉन्सर करें।
| कमांड | उद्देश्य | अधिक पढ़ें |
|---|
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 | संस्करण प्रिंट करें | — |