A file-based API client for your terminal. Define requests in YAML, run them instantly, and keep everything in git.
REST, GraphQL, and OAuth 2.0 without GUI overhead.
Quick Start • GraphQL Explorer • Documentation
hulak run ./requests/Hulak runs request files directly from your project, supports concurrent directory execution, and falls back to an interactive picker when you simply run hulak.
Browse schemas from multiple endpoints, search operations, build queries interactively, execute inline, and save generated files from the terminal.
brew install xaaha/tap/hulakOther install options:
go install github.com/xaaha/hulak@latest- build from source with
go build -o hulak
mkdir my_apis && cd my_apis
hulak initIf you want multiple environment files right away:
hulak init -env staging prodHulak creates an env/ directory for secrets used by request files that reference template values like {{.key}}.
# test.hk.yaml
method: Get
url: https://jsonplaceholder.typicode.com/todos/1hulak run test.hk.yaml
# use a specific environment
hulak run test.hk.yaml --env staging
# run every request in a directory concurrently
hulak run ./requests/
# or open the interactive picker
hulakIf the selected request does not use environment template values, Hulak runs it without requiring env/ setup.
Start the explorer with a file or a directory:
hulak gql e2etests/gql_schemas/countries.yml
hulak gql .
hulak gql -env staging ./collections/graphqlRead the full guide in docs/graphql-explorer.md.
Start here for the full reference:
- CLI Reference
- Request Body
- Actions
- Environment Secrets
- Encrypted Store
- Response Files
- GraphQL Explorer
- Auth2.0
If you want the full list of commands, flags, and subcommands, use docs/cli.md or run:
hulak help
hulak <command> --helpThe Hulak schema is available in the Schema Store, so editors that support Schema Store can automatically enable completion for .hk.yaml and .hk.yml files.
You can also point your YAML language server directly at:
https://raw.githubusercontent.com/xaaha/hulak/refs/heads/main/assets/schema.json
git clone https://github.com/xaaha/hulak.git
cd hulak
mise installSee CONTRIBUTING.md for the full development workflow.
If Hulak is useful to you, open an issue, suggest a feature, send a pull request, or sponsor the project.

