I'm not aware of any such document, but I think the best thing to do is to read the docs and have a good reason if you deviate from the general format of the examples they provide. The Rule Machine author, Bruce, also recommends keeping rules short and simple--there's nothing wrong with having multiple rules that work together to accomplish the same task (and it's often easier; multiple instances of a rule running at the same time is both possible and potentially confusing, and multiple, unrelated triggers--one thing that can cause this--may make it hard to determine what to do in your "Actions to Run" section, assuming you fork it with IFs depending on what you want to happen when).
I usually point people to the forum thread instead of the actual docs (general RM docs or Rule 4.0 docs) since there are in-line screenshots and you can read more posts from users and staff in the thread later:
But beyond that, I'd say you have the right ideas. Sometimes you'll see people write rules like "every 30 seconds, check if this motion sensor is active, and then...". I ask my self: why? Hubitat is event-driven (something you can read more about in the general RM docs above if you aren't already familiar), and the best approach here is almost always to subscribe to that sensor's motion attribute, which in RM could be done with a trigger like "XYZ Sensor motion *changes*". (If you do use a Repeat, which can be useful for other things, make sure it is properly formatted and you have a way out, unless you really do want an never-ending loop; in some of these cases, a periodic or time-based trigger may make more sense.)
Finally, we don't have access to these metrics but have been told by staff that CPU, RAM, and disk resources are almost never the problem (see here or search for much more). The speed of Zigbee and Z-Wave networks is more likely to be a limit if you're manipulating lots of devices. Zigbee has group broadcasting that can help in some cases if you use the Hubitat Groups and Scenes app instead of sending the same command a bunch of times in a row to different devices; there isn't anything quite like that for Z-Wave. If you have problems in either case, some people put "Delay" actions in their rule for a second or two between chunks of commands to different devices if they individually address lots of them and notice problems (you may still not). I wouldn't start off worrying about any of this but just keep it in mind for the future. ![]()