Multi-language binary protocol code generator. Describe your protocol once in C# as a DSL, get working serialization, network plumbing and state machines in Java, C#, TypeScript, C++, Go and Rust.
- AdHoc-protocol — the protocol description format, the agent, the documentation.
- Generators: InJAVA · InCS · InTS
Beyond the generator, the organization keeps in the open what has been built with it: converters that bring other schema languages into AdHoc. Each repository is self-contained: fetch, build, generate, validate, run.
Already have a protocol described somewhere else? Run it through the matching converter and see it as an AdHoc description: packs, enums, hosts, connections, RPC. The output is a starting point you refine by hand, not a finished protocol — AdHoc says more than any of these formats can — but it is idiomatic AdHoc from the first run, not a transliteration.
| Converter | Source format | What it comes from |
|---|---|---|
| OpenAPI-to-AdHoc | OpenAPI 3.x / Swagger 2.0 .json / .yaml |
REST APIs |
| Protobuf-to-AdHoc | Protocol Buffers .proto: proto2, proto3, editions |
gRPC services, message schemas |
| ROS2-to-AdHoc | ROS 2 .msg / .srv / .action |
robotics interfaces |
| DBC-to-AdHoc | Vector CAN database .dbc |
automotive CAN buses |
| Avro-to-AdHoc | Apache Avro .avsc / .avpr |
data pipelines, Kafka |
| Thrift-to-AdHoc | Apache Thrift IDL | services, Hadoop stack |
| FlatBuffers-to-AdHoc | FlatBuffers .fbs |
games, Apache Arrow |
| Matter-to-AdHoc | Matter (CSA) cluster XML | smart home devices |
| ASN1-to-AdHoc | ASN.1 modules .asn |
telecom, PKI, X.500 |
| FIX-to-AdHoc | FIX SBE and QuickFIX dictionaries | electronic trading |
| MAVLink-to-AdHoc | MAVLink dialect XML | drones, flight stacks |
| DSDL-to-AdHoc | OpenCyphal / DroneCAN DSDL | vehicle buses |
| CRSF-MSP-to-AdHoc | CRSF and MSP firmware headers | RC links, flight controllers |
| LwM2M-to-AdHoc | OMA LwM2M object XML | IoT device management |
Every converter above is listed under the adhoc-converter topic.