I think it's better to find all the current callers of this command (I don't know if you're using Rubymine, but its Find Usage command is useful for this.  Use w/e is equivalent for your development environment) and then have the return value be an instance of a Class like `CommandSequence` and it contains multiple `Command`s that include the original command line and the return status code.  (Probably want some way to indicate if the commands were joined with &&, ||, and ; too).  By making them classes, it's easier to document the format in YARD for consumers as YARD doesn't expose a nice way to document a returned Hash format the way it does for with `@option` for `@param`.  You might even be able to leverage the S expression synax from YARD or the Abstract Syntax Tree from Ruby, but those are both probably too tied to Ruby syntax to work for our commands.  Although I recall YARD working for C too, so maybe the S expressions are generic, but they may be too low-level for documenting commands.  You could even have the parse spit out a CommandSequence object and have it have the a `run` method that then updates it self so that most of `run_multiple` gets folded into this new `CommandSequence` class.