Integrate a language with Tenon IPC
IPC carries records between plugin processes and the Runner. A language implementation must agree with its peers on the data format, ordering, notification, and cleanup behavior.
Most plugin developers should use an existing SDK. Work on IPC when adding a language, supporting a platform, or changing the communication layer itself.
Focus on compatibility
- Consume the shared definitions and test vectors instead of maintaining separate protocol copies.
- Check both language directions: each implementation must work as sender and receiver.
- Exercise process interruption, failure, and cleanup as well as ordinary data flow.
- Run native checks on every OS and CPU combination the contribution claims to support.
Where to work
| Repository resource | Use it for |
|---|---|
| IPC contract | Formats, wait/wake behavior, ownership, errors, and verification commands |
| Rust IPC implementation | Existing Rust behavior and tests |
| Java IPC implementation | Existing Java behavior and tests |
| Shared IPC vectors | Cross-language format and error cases |
| SDK contract | How the SDK uses IPC for plugin lifecycle and records |
After IPC works with the Runner, continue with SDK Development and verify a complete generated plugin.