The Protobuf message definitions for the Meshtastic project (used by apps and the device firmware).
- TypeScript package:
packages/ts - Rust package:
packages/rust - Kotlin Multiplatform package (Wire):
packages/kmp
Fields can carry app/UI-relevant metadata (e.g. diy_only) via the (meshtastic.field_metadata)
option - see meshtastic/field_metadata.proto. It is exposed to
consumers as reflection-free generated accessors: the KMP package generates them with a Wire
SchemaHandler (packages/kmp), and other languages via the
tools/protoc-gen-fieldmeta plugin (which has integration
recipes for firmware/Apple/Python).