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-rpcCLI, installable from Cargo or the@tripley/rpcnpm 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-runtimepackage. - The npm package
@tripley/rpcwraps nativetripley-rpcbinaries; it does not include the TypeScript runtime.
Quick Start
Validate an IDL file:
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:
Generate TypeScript client SDK code:
Run the local product preflight:
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.