Skip to content

xaaha/hulak

Repository files navigation

Hulak

API calls with simple YAML. No Electron. No login. No lag.

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 StartGraphQL ExplorerDocumentation


Run one request, a whole directory, or stay interactive

Concurrent Execution

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.

Dedicated GraphQL Explorer

GraphQL Explorer

Browse schemas from multiple endpoints, search operations, build queries interactively, execute inline, and save generated files from the terminal.

Quick Start

Install

brew install xaaha/tap/hulak

Other install options:

  • go install github.com/xaaha/hulak@latest
  • build from source with go build -o hulak

Initialize a project

mkdir my_apis && cd my_apis
hulak init

If you want multiple environment files right away:

hulak init -env staging prod

Hulak creates an env/ directory for secrets used by request files that reference template values like {{.key}}.

Create a request file

# test.hk.yaml
method: Get
url: https://jsonplaceholder.typicode.com/todos/1

Run it

hulak 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
hulak

If the selected request does not use environment template values, Hulak runs it without requiring env/ setup.

GraphQL Explorer

Start the explorer with a file or a directory:

hulak gql e2etests/gql_schemas/countries.yml
hulak gql .
hulak gql -env staging ./collections/graphql

Read the full guide in docs/graphql-explorer.md.

Documentation

Start here for the full reference:

If you want the full list of commands, flags, and subcommands, use docs/cli.md or run:

hulak help
hulak <command> --help

Schema Support

The 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

Contributing

git clone https://github.com/xaaha/hulak.git
cd hulak
mise install

See CONTRIBUTING.md for the full development workflow.

Support the Project

If Hulak is useful to you, open an issue, suggest a feature, send a pull request, or sponsor the project.

About

Lightweight file-based API client for terminal nerds

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages