अपडेट पर वापस जाएँ
New releaseAug 16, 2026

hulak v0.3.32

हल्का फ़ाइल-आधारित CLI API क्लाइंट जिसमें age-एन्क्रिप्टेड सीक्रेट्स, प्रथम श्रेणी GraphQL समर्थन और एजेंटिक वर्कफ़्लो के लिए MCP सर्वर शामिल है।

साझा करें

Hulak

एन्क्रिप्टेड सीक्रेट्स के साथ Git-नेटिव API क्लाइंट।

REST · GraphQL · OAuth

त्वरित शुरुआतGraphQL एक्सप्लोररप्रोजेक्ट संरचनादस्तावेज़ीकरण


एक रिक्वेस्ट चलाएँ, पूरी निर्देशिका, या इंटरैक्टिव रहें

समवर्ती निष्पादन
hulak run ./requests/

Hulak आपके प्रोजेक्ट से सीधे रिक्वेस्ट फ़ाइलें चलाता है। यह समवर्ती निर्देशिका निष्पादन का समर्थन करता है। जब आप केवल hulak चलाते हैं, तो यह एक इंटरैक्टिव पिकर खोल देता है।

समर्पित GraphQL एक्सप्लोरर

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@latest
  • go 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 exampleexample उप-कमांड आपको एक ऐसी रिक्वेस्ट फ़ाइल लिखने का त्वरित तरीका देता है जिसे आप संशोधित कर सकते हैं। अधिक जानकारी के लिए 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
gqlGraphQL एक्सप्लोरर TUIgraphql-explorer.md
secretsएन्क्रिप्टेड वॉल्ट CRUDstore.md
initएक hulak प्रोजेक्ट आरंभ करेंstore.md
migratePostman से hulak रूपांतरणmigrating-to-vault.md
exampleनमूना रिक्वेस्ट फ़ाइलें तैयार करें
doctorप्रोजेक्ट की सेहत जाँचें
mcpMCP के माध्यम से 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 पर, -env env फ़ाइलें बनाता है। यह एक सेटअप फ़्लैग है, रनटाइम चयनकर्ता नहीं। 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 में पढ़ें।

दस्तावेज़ीकरण

पूर्ण संदर्भ के लिए यहाँ से शुरू करें:

पूरी कमांड सूची के लिए, चलाएँ:

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 खोलें, एक फ़ीचर सुझाएँ, एक पुल रिक्वेस्ट भेजें, या प्रोजेक्ट को स्पॉन्सर करें।

श्रेणियाँ