tripley-rpc-cli 0.1.3

User-facing command line tool for Tripley RPC IDL and code generation.
tripley-rpc-cli-0.1.3 is not a library.

Tripley RPC

Tripley RPC is an IDL-first RPC toolkit for local-first applications. It provides:

  • YAML IDL parsing, formatting, semantic validation, and compatibility checks.
  • Rust runtime crates for request/response RPC, activation, notifications, IPC, and WebSocket transports.
  • Rust and TypeScript client/server SDK generation.
  • A user-facing tripley-rpc CLI, installable from Cargo or the @tripley/rpc npm wrapper.

C++ support exists in the repository as discontinued experimental work and is not part of the current product surface.

Current Product Surface

The supported v1 track is Rust + TypeScript + CLI:

  • Rust runtime and Rust generator crates are versioned together through the Cargo workspace.
  • TypeScript generation targets the external @tripley-kit/xrpc-runtime package.
  • The npm package @tripley/rpc wraps native tripley-rpc binaries; it does not include the TypeScript runtime.

Quick Start

Validate an IDL file:

cargo run -p tripley-rpc-cli -- validate \
  --in idl/examples/kiosk_demo/card_reader.rpc.yaml \
  --import-root idl/examples/kiosk_demo

Use --format json with CLI commands when automation needs machine-readable output. The stable JSON envelope is documented in docs/cli-json-output-schema.md.

Generate Rust SDK code:

cargo run -p tripley-rpc-cli -- generate rust \
  --in idl/examples/kiosk_demo/card_reader.rpc.yaml \
  --import-root idl/examples/kiosk_demo \
  --out target/generated/kiosk

Generate TypeScript client SDK code:

cargo run -p tripley-rpc-cli -- generate typescript \
  --in idl/examples/kiosk_demo/card_reader.rpc.yaml \
  --import-root idl/examples/kiosk_demo \
  --out target/generated/kiosk-ts \
  --runtime-package @tripley-kit/xrpc-runtime

Run the local product preflight:

scripts/release-preflight.sh

Documentation

  • CLI and npm packaging: docs/user-facing-cli-and-npm-packaging.md
  • Integration guide: docs/project-integration-guide-for-codex.md
  • IDL draft: docs/rust-rpc-idl-spec-v1-draft.md
  • Runtime transport draft: docs/rust-rpc-runtime-transport-spec-v1-draft.md

Security Model

The default runtime posture is same-machine use. Servers should remain local-only unless a caller explicitly enables remote connections and configures token authentication. The current WebSocket transport supports ws://; it does not provide TLS encryption.

See SECURITY.md for reporting and supported-version policy.