Every device in plesty now ships reference docs generated straight from its live doc_model(). As a user you get docs that always match the real API; as a contributor you write none.
Open a device module's documentation and you'll find four reference pages, regenerated from the device's schema on every build โ so what you read is exactly what you can run, and it can't drift from the code.
Start on Usage to see how to connect and drive the device; reach for Parameters and Functions as the complete, typed list of what you can set and call.
connect, identity, check_errors, reset โ so switching devices doesn't mean relearning basics.module_type = "device". Your schemas already describe the parameters and operations, so the base device builds doc_model() for you โ there are no reference .md files to write.plesty init), so a plain build produces the reference pages from your live model. Preview them locally before you push.plesty checkBecause the docs are generated, a contributor needs to know they'll actually render. Gate d3 ([Device] tier) runs in plesty check / CI and, in an isolated subprocess, proves your device is documentable โ so a broken model fails fast, on your machine, not on the published site:
So to pass d3 your device must import and construct without real hardware, and expose a non-empty model that renders. Non-device modules print โ Device Docs (N/A โ not a device module) and skip it.
โข Every schema change meant re-editing docs
โข Users hit reference that had drifted from the API
โข Nothing checked the docs even built
module_type = "device" โ doneโข Pages regenerate from
doc_model() each buildโข Users get reference that can't drift from the schema
โข Gate d3 blocks CI if it won't render