This track is for developers writing software for the Psyclone platform — modules and their cranks, PsySpecs, whiteboards and catalogs. It takes you from first contact to expert use, in order. If instead you want to use CMSDK as a standalone C++ library with no Psyclone involved, see Using CMSDK standalone.
Psyclone is a general-purpose platform for deploying multiple processes with powerful message and stream communications, built on a publish–subscribe core. CMSDK provides the two fundamental objects a Psyclone component works through — cmlabs::PsyAPI and cmlabs::PsySpace — plus the messaging, memory and timing machinery beneath them.
The guide, in reading order
- What is CMSDK? — the elevator story and the mental model: nodes, spaces, modules, cranks, messages, whiteboards, catalogs.
- Getting Started — build, run your first system, watch it in PsyProbe (the built-in web monitor).
- Core Concepts — publish–subscribe, triggers, contexts, signals, the message lifecycle and the PsySpec-vs-code separation.
- Writing a Module (Crank) — the crank contract, the PsyAPI handle, one-shot vs long-running cranks and the concurrency rules.
- Writing a PsySpec — the XML wiring language, element by element, from runnable examples.
- Whiteboards & Catalogs — storing and retrieving messages, the built-in catalogs, queries.
- Distributed Systems — spaces (process isolation) and nodes (multiple machines).
- Going Deeper — shared memory and the ABI rule, threading, the request fabric, the built-in HTTP server, microsecond time, SSL.
- Examples Index — every shipped example, one line each.