Skip to content

mistweaverco/kulala-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

188 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kulala Logo

Kulala Core

Made with love GitHub release (latest by date) Development status) Discord

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)
  • gRPC
  • WebSockets

Variables

  • Host Environment
  • Document variables
  • Request scoped variables
  • http-client.env files
  • Built-in support for withsecrets (ws; legacy kuba alias 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 ran npm publish.
  • bun build --compile: run packages/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__=true.

About

kulala-core ⚡️ is the backend powering 🔋 all the kulala 🐼 tools.

Topics

Resources

License

Code of conduct

Contributing

Stars

12 stars

Watchers

0 watching

Forks

Contributors

Languages