rustra

한 Rust 코어 → Node, Bun, Tauri, React Native.

컴팩트 바이너리 와이어와 CI 계약 게이트로, 스키마 깨짐을 막으면서 타입 안전 클라이언트를 각 호스트에 생성합니다.

정의는 한 번, 호출은 어디서나

Rust에서 #[command]로 정의하면 rustra codegen이 플랫폼별 타입 안전 클라이언트를 만듭니다. 같은 계약, 같은 Frame 와이어.

Wire

Frame 바이너리

요청 페이로드 기준 JSON 대비 약 11.8× 작습니다. (페이로드 바이트, RTT 아님)

Contract

CI 계약 게이트

스키마 해시를 깨는 변경을 CI에서 차단해 호스트별 드리프트를 막습니다.

Hosts

네 플랫폼

Node, Bun, Tauri, React Native가 같은 EngineClient 경로를 공유합니다.

설치

CLI로 클라이언트를 생성하고, 호스트 런타임 패키지로 연결합니다.

CLI

bun add -g @unikit-bridge/rustra
rustra codegen

TypeScript 호출

import { addNumbers } from './generated/node.js';

const { sum } = await addNumbers({ a: 42, b: 58 });

같은 UI 키트로 만든 소개 페이지

이 사이트는 @unikit-bridge/ui를 그대로 씁니다. 아래는 실제 컴포넌트입니다.

호스트
N-API 어댑터로 같은 계약을 호출합니다.
액션
Frame
codegen
contract gate