Bindings

Cross-language binding architecture rules: bindings as minimal glue, canonical API surface ordering (core, ABI, language), per-language test suites in CI, generated-code discipline, and error/async boundary preservation. Load when designing or reviewing polyglot language bindings for a shared core.

goldziher 54ecb79 1.0 KB Updated

File contents

  • Bindings are minimal glue: call the core library, convert types, convert errors — no business logic.
  • Canonical surface: core API first, stable native ABI second, language bindings third.
  • Keep integrations and framework adapters outside language bindings unless they are the binding's public purpose.
  • Give each binding its own language-native test suite and run it in CI.
  • Generated binding and e2e code must not be hand-edited. Change the source schema, generator, or core API instead.
  • Error conversion must preserve context across every boundary: message, numeric code when available, and operation.
  • Async boundaries must match host runtime conventions; do not block event loops, schedulers, or UI threads.

goldziher/ai-rulez/tree/main/internal/builtins/universal/polyglot-bindings/skills/bindings commit 54ecb790d0

Frequently asked questions

npx skillmds@latest add goldziher/bindings