implementing-jsc-classes-zig

Generate Zig-JavaScriptCore binding code from .classes.ts definitions.

Updated Mar 29, 2026
One-click install
npx skills add https://github.com/sigitpoerwo/repoworkspace_zahra --skill implementing-jsc-classes-zig-sigitpoerwo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: implementing-jsc-classes-zig
Source: https://github.com/sigitpoerwo/repoworkspace_zahra/tree/main/skills/03-BELUM-DICOBA/dari-clawhub/implementing-jsc-classes-zig
Command: npx skills add https://github.com/sigitpoerwo/repoworkspace_zahra --skill implementing-jsc-classes-zig-sigitpoerwo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Automates and standardizes the creation of Zig-based JavaScriptCore bindings for Bun/OpenClaw, enabling seamless JS API exposure from Zig implementations.

Core Features & Use Cases

  • Define JS-visible classes and interfaces in a standard .classes.ts format for Zig-JSC bindings.
  • Generate Zig implementations (.zig) and wiring for the bridge between Zig and JavaScriptCore.
  • Produce generated binding code that connects .classes.ts definitions to Zig and C++/Zig glue.

Quick Start

Define a new class in a .classes.ts file and implement its Zig binding in a .zig file, then wire it into the generated bindings list and build.

Frequently Asked Questions about implementing-jsc-classes-zig

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create JavaScriptCore bindings for Bun using Zig?

You create JavaScriptCore bindings by defining JS-visible classes in a .classes.ts file and implementing the bridge logic in a .zig file. This automates and standardizes Zig-JS binding infrastructure for seamless API exposure.

What is the standard format for defining Bun JavaScriptCore interfaces in Zig?

The standard format is a .classes.ts file. This TypeScript-based format defines JS-visible classes and interfaces, which connect to generated binding code and corresponding .zig implementations for JavaScriptCore interoperability.

Do I need a Zig toolchain to expose JavaScript APIs in Bun?

Yes, exposing JavaScript APIs in Bun requires a Zig toolchain. The binding infrastructure specifically requires the Zig toolchain alongside Bun bindings and TypeScript interfaces to ensure safe and interoperable connections to JavaScriptCore.

How does the .classes.ts file connect to Zig implementations?

The .classes.ts file connects to Zig implementations through generated binding code. This generated code acts as the wiring and C++/Zig glue that bridges TypeScript interface definitions directly to the underlying Zig implementations for JavaScriptCore.

Can I automate Zig-JS binding generation for Bun APIs?

Yes, you can automate Zig-JS binding generation for Bun APIs. This process automates and standardizes the creation of Zig-based JavaScriptCore bindings by producing the necessary generated binding code directly from your .classes.ts definitions.

What are the limitations of using .classes.ts definitions for Zig-JSC bindings?

Using .classes.ts definitions for Zig-JSC bindings requires strict adherence to the standard format and depends on the Zig toolchain and Bun bindings. You must ensure TypeScript interfaces match .zig implementations exactly to maintain safe interoperability and avoid bridge failures.