Skip to content

Add bashkit4j (Java/JVM binding) to the Language Bindings section #2380

Description

@tersePrompts

Hi! bashkit4j is an independent Java binding of Bashkit, and we'd love to have it listed in the README's Language Bindings section alongside the C API, Python, JS/TS and WASM entries.

What it is

  • Java 17+, pure JNA over the libbashkit C ABI — no JNI native code of its own, no Docker daemon, no host bash binary.
  • Ships the native libraries for Windows / Linux / macOS (x86-64 + ARM64) inside the jar, auto-detected at load time.
  • One artifact on Maven Central: io.github.terseprompts:bashkit4j:0.3.0javadoc.
  • Covers the full C ABI surface: sandboxed execution, in-memory VFS, host-directory mounts (opt-in, natively allowlisted), resource limits, wall-clock timeout, and cancellation.
  • MIT, independent and unaffiliated with Everruns — attribution per upstream NOTICE terms.

On provenance

The host-directory mount and cancellation C ABI additions bashkit4j uses were merged upstream in everruns/bashkit#2371. Until an upstream release tag carries that commit, the bundled native libraries are built from the equivalent commit on the fork branch (tersePrompts/bashkit capi-host-mounts).

The ask

Add something like the following to the Language Bindings section (happy to adjust wording):

Java (community): bashkit4j — Java 17+ JNA binding; bundles native libs for 5 platforms, published to Maven Central as io.github.terseprompts:bashkit4j.

Thanks for a great project — the C ABI made this a very thin binding to build.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions