Kulala Core
August 10, 2026 · View on GitHub
Kulala Core
Kulala is swahili for "rest" or "relax."
API bridge that powers the Kulala toolchain and can be used as a standalone library.
Overview
A RESTful API is a web service architecture that adheres to specific constraints:
- statelessness,
- uniform interface,
- client-server separation
Typically using HTTP methods like GET, POST, PUT, and DELETE.
It uses standard web protocols to enable interoperability
between distributed systems.
Features
Request types
- HTTP RESTful (1.0, 1.1, 2, 3)
- GraphQL (queries, mutations)
- OpenAPI (spec load, explorer UI tree, Try it out overrides, LSP completions,
$refbundling, Swagger 2.0) - gRPC
- WebSockets
Variables
- Host Environment
- Document variables
- Request scoped variables
http-client.envfiles- Built-in support for withsecrets (
ws; legacykubaalias still works)
Scripting
Supports JavaScript, Lua, and TypeScript for:
- Pre-request
- Post-request
- Conditional
- Inline
- External
Authentication
- Basic
- Bearer
- OAuth 2.0
Automation and testing
Assertions, automated testing and reporting is compatible with the IntelliJ HTTP Client:
Usage
Example .http files
See the http-example-files directory for example .http files.
Example integrations
See the examples directory for integration examples.
curl binary
Resolution order: KULALA_CURL_PATH (if set),
then a pinned copy under the user cache (for example on Linux: ~/.local/share/kulala-core/cache/curl/<platform>-<arch>/curl),
then curl on your PATH,
then a one-time download of a pinned static build (SHA-256 verified) into that cache.
You can override the data or cache root with KULALA_CORE_DATA_DIR / KULALA_CORE_CACHE_DIR.
- Published library (
dist/): the npm build sets__KULALA_EMBED_CURL__=false, so the package does not embed curl from the machine that rannpm publish. bun build --compile: runpackages/core/scripts/generate-vendored-curl.ts(optionally with--target=bun-…for cross-compiles) so the matching curl is present in the cache and embedded for that build, then compile with--define __KULALA_EMBED_CURL__=trueand--compile-autoload-package-json(needed so request scripts canrequire()packages from the project'snode_modules).